using System;
using System.Text;
using System.Security.Cryptography;
using System.IO;
namespace des1
{
/// <summary>
/// testDea 的摘要说明。
/// </summary>
public class Des3
{
public Des3()
{
}
/// <summary>
/// 加密方法
/// </summary>
/// <param name="strData">明文,Unicode 编码</param>
/// <param name="bs64key">密码,base64编码</param>
/// <returns>加密结果,base64编码</returns>
public static string Encrypt(string strData,string bs64key)
{
TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();
des.Mode = CipherMode.ECB ;
des.Padding = PaddingMode.PKCS7;
des.Key = Convert.FromBase64String(bs64key);
byte [] bData = ASCIIEncoding.ASCII.GetBytes(strData);
return Convert.ToBase64String(des.CreateEncryptor().TransformFinalBlock(bData,0,bData.Length));
}
/// <summary>
/// 解密方法
/// </summary>
/// <param name="strData">明文,base64编码</param>
/// <param name="bs64key">密码,base64编码</param>
/// <returns>解密结果,Unicode 编码</returns>
public static string Decrypt(string strData, string bs64key)
{
TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();
des.Mode = CipherMode.ECB;
des.Padding = PaddingMode.PKCS7;
des.Key = Convert.FromBase64String(bs64key);
byte[] bData = Convert.FromBase64String(strData);
return ASCIIEncoding.ASCII.GetString(des.CreateDecryptor().TransformFinalBlock(bData, 0,bData.Length));
}
}
}
此博客展示了使用C#实现TripleDES加密和解密的代码。定义了Des3类,包含加密方法Encrypt和解密方法Decrypt。加密方法将Unicode编码的明文和base64编码的密码作为输入,输出base64编码的加密结果;解密方法则相反,将base64编码的密文解密为Unicode编码的明文。

1万+

被折叠的 条评论
为什么被折叠?



