求对称加密算法,多位加密成16位,可以解密回来 我有一串字符串,32-35位,我想把它加成16位的,加密以后可以通过解密解回来,请问大家用什么加密解密方式呀?试了DES不行呀 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://download.csdn.net/source/1612402给你个例子,去看看吧 DES是变位加密,就像打乱魔方的排列,起不到压缩的作用。 对称加密(使用RijndaelManaged类加密数据) //加密字符串 public string Encrypting(string strSource) { try { //把字符串放到byte数组中 byte[] bytIn = System.Text.Encoding.Default.GetBytes(strSource); //建立加密对象的密钥和偏移量 byte[] key = { 24, 55, 102, 24, 98, 26, 67, 29, 84, 19, 37, 118, 104, 85, 121, 27, 93, 86, 24, 55, 102, 24, 98, 26, 67, 29, 9, 2, 49, 69, 73, 92 }; byte[] IV ={ 22, 56, 82, 77, 84, 31, 74, 24, 55, 102, 24, 98, 26, 67, 29, 99 }; //实例 RijndaelManaged 类将字符串写入流中 RijndaelManaged myRijndael = new RijndaelManaged(); myRijndael.IV = IV; myRijndael.Key = key; ICryptoTransform encrypto = myRijndael.CreateEncryptor(); System.IO.MemoryStream ms = new System.IO.MemoryStream(); CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Write); cs.Write(bytIn, 0, bytIn.Length); cs.FlushFinalBlock(); byte[] bytOut = ms.ToArray(); return System.Convert.ToBase64String(bytOut); } catch (Exception ex) { throw new Exception("在文件加密的时候出现错误!错误提示: \n" + ex.Message); } } 参考FortuneBase中的四种加密算法可以参考www.cnblogs.com/mail-ricklee中的FortuneBaseloginData.aspx.cs中 这个记录有错误吗? 什么web邮件服务器好用点? 显示列表的问题 字符串截取 DataTable与ViewState结合实现商品订单问题 sql事务交易货币的怎么写 请帮忙:循环删除文件时总提示:正由另一进程使用,因此该进程无法访问该文件。 把搜索出的数据用DataList分页显示,但是看下一页的时候·就出问题了!高手帮帮忙啊!谢谢! Session用户混乱的问题 datagrid选择列 FormsAuthentication.SignOut();失效 GridView中TemplateField中,TextBox 取值不到
给你个例子,去看看吧
DES是变位加密,就像打乱魔方的排列,起不到压缩的作用。
//加密字符串
public string Encrypting(string strSource)
{
try
{
//把字符串放到byte数组中
byte[] bytIn = System.Text.Encoding.Default.GetBytes(strSource);
//建立加密对象的密钥和偏移量
byte[] key = { 24, 55, 102, 24, 98, 26, 67, 29, 84, 19, 37, 118, 104, 85, 121, 27, 93, 86, 24, 55, 102, 24, 98, 26, 67, 29, 9, 2, 49, 69, 73, 92 };
byte[] IV ={ 22, 56, 82, 77, 84, 31, 74, 24, 55, 102, 24, 98, 26, 67, 29, 99 };
//实例 RijndaelManaged 类将字符串写入流中
RijndaelManaged myRijndael = new RijndaelManaged();
myRijndael.IV = IV;
myRijndael.Key = key;
ICryptoTransform encrypto = myRijndael.CreateEncryptor();
System.IO.MemoryStream ms = new System.IO.MemoryStream();
CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Write);
cs.Write(bytIn, 0, bytIn.Length);
cs.FlushFinalBlock();
byte[] bytOut = ms.ToArray();
return System.Convert.ToBase64String(bytOut);
}
catch (Exception ex)
{
throw new Exception("在文件加密的时候出现错误!错误提示: \n" + ex.Message);
}
}
可以参考www.cnblogs.com/mail-ricklee中的FortuneBaseloginData.aspx.cs中