C#3des加密时候需要密钥

/// <summary>
/// 3des加密字符串
/// </summary>
/// <param name="a_strString">要加密的字符串</param>
/// <param name="a_strKey">密钥</param>
/// <returns>加密后并经base64编码的字符串</returns>
/// <remarks>静态方法,采用默认ascii编码</remarks>
public static string Encrypt3DES(string a_strString, string a_strKey)
{
TripleDESCryptoServiceProvider DES = new
TripleDESCryptoServiceProvider();
MD5CryptoServiceProvider hashMD5 = new MD5CryptoServiceProvider();

DES.Key = hashMD5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(a_strKey));
DES.Mode = CipherMode.ECB;

ICryptoTransform DESEncrypt = DES.CreateEncryptor();

byte[] Buffer = ASCIIEncoding.ASCII.GetBytes(a_strString);
return Convert.ToBase64String(DESEncrypt.TransformFinalBlock
(Buffer, 0, Buffer.Length));
}
要传2个参数,第2个参数需要什么密钥。。这密钥是什么。

第1个回答  2010-06-02
64位的任意密钥,也就是8个字符

你可以传一个 12345678,也可以传 asdfghjk 你解密的时候也要用相应的密钥如:12345678 解密
第2个回答  2014-03-10
密钥由你自己定的,相当于你设置一个密码!解密时用此密码
第3个回答  2010-06-02
你还是别用了,把3des 的加密原理看懂了再用.
不知道怎么给你解释.本回答被网友采纳
相似回答