對稱加密解密類

2021-06-20 15:34:42 字數 1728 閱讀 1206

using system;

using system.collections.generic;

using system.web;

using system.security.cryptography;

using system.text;

using system.io;

using system.web.ui;

namespace witpon

; encryptor = provider.createencryptor();//建立對稱加密器物件

decryptor = provider.createdecryptor();//建立對稱解密器物件

}/// /// 對稱加密解密類建構函式 乙個引數 會預設對稱演算法名稱為:tripledes

///

/// 加密key

public cryptohelper(string key) : this("tripledes", key)

/// /// 加密演算法

///

/// 需要加密的字串

/// 返回加密後的字串

public string encrypt(string cleartext) while(bytesread>0);

cryptostream.flushfinalblock();

//獲取加密後的文字

buffer = encryptedstream.toarray();

string encryptedtext = convert.tobase64string(buffer);

return encryptedtext;

}/// /// 解密演算法

///

/// 需要解密的字串

/// 返回解密後的字串

public string decrypt(string encryptedtext) while(bytesread>0);

buffer = clearstream.getbuffer();

string cleartext = encoding.utf8.getstring(buffer,0,(int)clearstream.length);

return cleartext;

}/// /// 加密方法

///

/// 需要加密的字串

/// 加密key

/// 返回加密後的字串

public static string encrypt(string cleartext,string key)

/// /// 解密方法

///

/// 需要解密的字串

/// 解密所依據的key

/// 返回解密後的字串

public static string decrypt(string encryptedtext,string key)

}}

頁面上呼叫此類中的方法時,先引入命名空間。呼叫時可以先例項化也可以直接通過類名呼叫靜態方法。

需要注意的是加密後有的會有 「+」號,傳輸時會成為 「 」空格,在解密時需要轉換處理一下這個「 」空格為「+」號才好。

string userno = cryptohelper.encrypt("maxin", "abcdefghijklmnop");第乙個引數是傳入需要加入的字串,第二個引數為加密金鑰,解密時也需要金鑰對應才行。

加密解密幫助類(對稱加密)

1 對稱加密幫助類 2public static class cryptohelper3 22 provider.key encoding.utf8.getbytes key 2324 encryptor provider.createencryptor 25 建立明文流 26byte clearb...

對稱加密解密類c

namespace encryptdll else if sha1.computehash encoding.default.getbytes strkey length tdes.key.length 初始向量的設定 if sha1.computehash encoding.default.get...

對稱加密 解密

加密 public static class encrypting 使用對稱演算法加密 public static string symmetricencrypts string str 如需指定加密演算法,可在create 引數中指定字串 create 方法中的引數可以是 des rc2 syst...