DES加密问题(急) 可以,只是不同的構造函數而已 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 static string Encrypt(string datastr, string keystr) {DESCryptoServiceProvider desc = new DESCryptoServiceProvider();//des进行加密byte[] key = System.Text.Encoding.Unicode.GetBytes(keystr);byte[] data = System.Text.Encoding.Unicode.GetBytes(datastr);MemoryStream ms = new MemoryStream();//存储加密后的数据CryptoStream cs = new CryptoStream(ms,desc.CreateEncryptor(key, key),CryptoStreamMode.Write);cs.Write(data, 0, data.Length);//进行加密cs.FlushFinalBlock();return System.Text.Encoding.Unicode.GetString(ms.ToArray());//取加密后的数据}解密:static string Decrypt(string datastr, string keystr) {DESCryptoServiceProvider desc = new DESCryptoServiceProvider();byte[] key = System.Text.Encoding.Unicode.GetBytes(keystr);byte[] data = System.Text.Encoding.Unicode.GetBytes(datastr);MemoryStream ms = new MemoryStream();//存储解密后的数据CryptoStream cs = new CryptoStream(ms,desc.CreateDecryptor(key, key),CryptoStreamMode.Write);cs.Write(data, 0, data.Length);//解密数据cs.FlushFinalBlock();return System.Text.Encoding.Unicode.GetString(ms.ToArray());}注意几个问题:DES加密算法是对称加密,它的Key是8个字节,即64位,用Unicode编码的话就是4个字符(一个字符两个字节);加密和解密的Key必须一样。 呵呵!把例子里的程序改写成C的就好用了。 asp.net 前台页面传值到后台 提示 URL长度超过限制 求一拆分字串的算法 帮看下正则写对了没,限制小数位数 来,来,来,一个偏向数学方面的问题 困惑啊!!!!!! 用GDI+画了一个流程图,可是颜色失真了。 c#菜鸟第一问 ,简单地小问题! 关于控制台数组的问题 wpf编写的程序怎么禁用屏幕自动旋转 一个问题 有谁使用过ARCVIEW和MAPOBJECT ?能交流吗? 如何自动执行一个click事件
DESCryptoServiceProvider desc = new DESCryptoServiceProvider();//des进行加密
byte[] key = System.Text.Encoding.Unicode.GetBytes(keystr);
byte[] data = System.Text.Encoding.Unicode.GetBytes(datastr);
MemoryStream ms = new MemoryStream();//存储加密后的数据
CryptoStream cs = new CryptoStream(ms,desc.CreateEncryptor(key, key),CryptoStreamMode.Write);
cs.Write(data, 0, data.Length);//进行加密
cs.FlushFinalBlock();
return System.Text.Encoding.Unicode.GetString(ms.ToArray());//取加密后的数据
}解密:
static string Decrypt(string datastr, string keystr) {
DESCryptoServiceProvider desc = new DESCryptoServiceProvider();
byte[] key = System.Text.Encoding.Unicode.GetBytes(keystr);
byte[] data = System.Text.Encoding.Unicode.GetBytes(datastr);
MemoryStream ms = new MemoryStream();//存储解密后的数据
CryptoStream cs = new CryptoStream(ms,desc.CreateDecryptor(key, key),CryptoStreamMode.Write);
cs.Write(data, 0, data.Length);//解密数据
cs.FlushFinalBlock();
return System.Text.Encoding.Unicode.GetString(ms.ToArray());
}注意几个问题:
DES加密算法是对称加密,它的Key是8个字节,即64位,用Unicode编码的话就是4个字符(一个字符两个字节);加密和解密的Key必须一样。