using System;
using System.Security.Cryptography;
using System.Text;

/**//// <summary>
/// Crypto3DES 的摘要说明。
/// </summary>
public class Crypto3DES
...{
public Crypto3DES()
...{
//
// TODO: 在此处添加构造函数逻辑
//
}
private System.Text.Encoding encoding;

/**//// <summary>
/// 获取密匙
/// </summary>
public string Key
...{
get
...{
return System.Configuration.ConfigurationSettings.AppSettings[ "cryptoKey" ];
}
}

/**//// <summary>
/// 获取或设置加密解密的编码
/// </summary>
public System.Text.Encoding Encoding
...{
get
...{
if( encoding == null )
...{
encoding = System.Text.Encoding.UTF8;
}
return encoding;
}
set
...{
encoding = value;
}
}

/**//// <summary>
/// 加密
/// </summary>
/// <param name="strString"></param>
/// <param name="strKey"></param>
/// <param name="encoding"></param>
/// <returns></returns>
public string Encrypt3DES( string strString )
...{
TripleDESCryptoServiceProvider DES = new TripleDESCryptoServiceProvider();
DES.Key = Encoding.GetBytes( this.Key );
DES.Mode = CipherMode.ECB;
ICryptoTransform DESEncrypt = DES.CreateEncryptor();
byte[] Buffer = encoding.GetBytes(strString);
return Convert.ToBase64String(DESEncrypt.TransformFinalBlock(Buffer, 0, Buffer.Length));
}

/**//// <summary>
/// 解密
/// </summary>
/// <param name="strString"></param>
/// <param name="strKey"></param>
/// <returns></returns>
public string Decrypt3DES( string strString )
...{
TripleDESCryptoServiceProvider DES = new TripleDESCryptoServiceProvider();
DES.Key = Encoding.UTF8.GetBytes( this.Key );
DES.Mode = CipherMode.ECB;
ICryptoTransform DESDecrypt = DES.CreateDecryptor();
byte[] Buffer = Convert.FromBase64String(strString);
return UTF8Encoding.UTF8.GetString( DESDecrypt.TransformFinalBlock(Buffer, 0, Buffer.Length) );
}
}
3DES加密解密实现
本文介绍了一种使用3DES算法进行数据加密和解密的方法。通过.NET框架下的TripleDESCryptoServiceProvider类实现了字符串的加密与解密过程。文章提供了具体的代码示例,包括如何设置密钥、选择加密模式及进行编码转换。
587

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



