publicstaticstringEncryptString(string sInputString,string sKey,string sIV)
{
try
{
byte[] data =Encoding.UTF8.GetBytes(sInputString);
DESCryptoServiceProvider DES =newDESCryptoServiceProvider();
DES.Key=ASCIIEncoding.ASCII.GetBytes(sKey);// 设置初始化密钥
DES.IV =ASCIIEncoding.ASCII.GetBytes(sIV);// 设置初始化向量
ICryptoTransform desencrypt = DES.CreateEncryptor();// 定义加密转换运算,这里应该使用using的,因为ICryptoTransform 继承了IDispose接口
byte[] result = desencrypt.TransformFinalBlock(data,0, data.Length);// 开始加密
returnBitConverter.ToString(result);//将加密的运算输出为字符串
}
catch
{
return"转换出错!";
}
}
staticvoidMain(string[] args)
{
string recordString =EncryptString("DES加密程序","20111219","12345678"); // key 和 iv 都必须是8位的数字
Console.WriteLine(recordString);
Console.ReadKey();
}
// 结果:recordString = "C5-0F-7A-F6-77-B1-CB-DE-B8-49-78-64-4E-E7-A4-51";
使用DES加密字符串
加密算法分类:
对称加密
非对称加密
哈希算法
HASH哈希算法
1.哈希Hash算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值成为哈希值。
2.信息摘要算法,Message Digest Algorithm ,Rivest在1989年开发出MD2算法
3.SHA(Secure Hash Alogrithm),美国安全局(NSA)设计,1993年发布SHA-0