您的位置:首页 > 编程语言 > C#

C#的3DES加密/解密

2012-07-30 08:55 423 查看
/// <summary>
/// 3DES解密
/// </summary>
/// <param name="strString">加密后的字符串</param>
/// <param name="strKey">解密key</param>
/// <returns>返回明文密码</returns>
private string Decrypt3DES(string strString, string strKey)
{
TripleDESCryptoServiceProvider provider1 = new TripleDESCryptoServiceProvider();
MD5CryptoServiceProvider provider2 = new MD5CryptoServiceProvider();
provider1.Key = provider2.ComputeHash(Encoding.ASCII.GetBytes(strKey));
provider1.Mode = CipherMode.ECB;
ICryptoTransform transform1 = provider1.CreateDecryptor();
string text1 = "";
try
{
byte[] buffer1 = Convert.FromBase64String(strString);
text1 = Encoding.ASCII.GetString(transform1.TransformFinalBlock(buffer1, 0, buffer1.Length));
}
catch (Exception exception1)
{
Response.Write("密码解析异常!");
return "";
}
return text1;
}
/// <summary>
/// 加密
/// </summary>
/// <param name="a_strString">加密字符串</param>
/// <param name="a_strKey">密匙</param>
/// <returns>返回加密后字符串</returns>
public string Encrypt3DES(string a_strString, string a_strKey)
{
TripleDESCryptoServiceProvider DES = new TripleDESCryptoServiceProvider();
MD5CryptoServiceProvider provider2 = new MD5CryptoServiceProvider();
DES.Key = provider2.ComputeHash(Encoding.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));
}


这个是支付宝适用的3DES加密/解密方法.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: