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加密/解密方法.
相关文章推荐
- JAVA和C# 3DES加密解密
- C# 加密解密(DES,3DES,MD5,Base64) 类
- C# 3DES加密解密
- JAVA安卓和C# 3DES加密解密的兼容性问题
- JAVA和C# 3DES加密解密
- Java和C#中3DES的加密与解密
- C# 3DES加密 解密
- C#实现简单的3DES加密解密功能示例
- JAVA和C# 3DES加密解密
- Android 3DES加密解密(JAVA和C#)
- JAVA和C# 3DES加密解密
- JAVA和C# 3DES加密解密
- Android 3DES加密解密(JAVA和C#)
- JAVA和C# 3DES加密解密
- JAVA和C# 3DES加密解密
- Android: JAVA和C# 3DES加密解密
- 银联手机支付(.Net Csharp),3DES加密解密,RSA加密解密,RSA私钥加密公钥解密,.Net RSA 3DES C#
- C# 加密解密(DES,3DES,MD5,Base64) 类
- 分享:JAVA和C# 3DES加密解密
- C#版3DES加密解密简单示例