关于C# DES 解密的 密文是16进制的,key也是16进制的 求源码 帮助啊。 网上找的都解密错误。des 解密16进制 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 其实很多都是对的,你没找到而已。你看下这个可以不http://download.csdn.net/detail/hu1990728/4520492 自己调用吧 private static Byte[] KEY_64 { get { return new byte[] { 40, 52, 159, 81, 79, 137, 99, 82 }; } } private static Byte[] IV_64 { get { return new byte[] { 98, 55, 32, 117, 156, 60, 59, 81 }; } } public static string EncryptCookie(string name)// DES加密 关键字、数据加密 { //#region DES加密算法 if (name != "") { DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider(); MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms, cryptoProvider.CreateEncryptor(KEY_64, IV_64), CryptoStreamMode.Write); StreamWriter sw = new StreamWriter(cs); sw.Write(name); sw.Flush(); cs.FlushFinalBlock(); ms.Flush(); return Convert.ToBase64String(ms.GetBuffer(), 0, Int32.Parse(ms.Length.ToString())); } else { return ""; } } public static string DecryptCookie(string temp)// DES解密 { try { //#region DES 解密算法 if (temp != "") { DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider(); //从字符串转换为字节组 Byte[] buffer = Convert.FromBase64String(temp); MemoryStream ms = new MemoryStream(buffer); CryptoStream cs = new CryptoStream(ms, cryptoProvider.CreateDecryptor(KEY_64, IV_64), CryptoStreamMode.Read); StreamReader sr = new StreamReader(cs); return sr.ReadToEnd(); } else { return ""; } } catch (Exception ex) { return ex.Message; } } 这个不行的-.- 我的key是134afd8980cd0eb0 我的解密只有KEY 我把KEY的值赋给IV, 但是到最后一步就会报错 不正确的数据。 我的key是134afd8980cd0eb0,密文是0935203713c26dd617940a593367ead4393cc44e93fe19421a127f9688d664da2f8b010c6ce2a2269f92ffe1685f50d67fcd1291d9d3453187db2a605f8a1609 问题解决了。是C# 加密解密需要一个IV,而JAVA加密的时候 是没有这个向量的。不过也谢谢各位 c# webcllient 的uploadstring() 方法服务器端如何接收? 关于在指定位置显示组件的问题 C#关联端口与进程 请帮忙解答先谢了 关于单例处理后类与纯静态方法类的性能问题? 在vs2005中怎么控制层 关于字符串的追加问题 C#中如何创建和打开Win32 事件? 那个老兄可以帮我解决textbox怎样才能实现查找功能!查找textbox里特定的字符! 熟悉 Ribbon 的朋友请帮助指点一下 c# panel自动滚动条最大值的问题 C#关于字符串处理求助
http://download.csdn.net/detail/hu1990728/4520492
{ get
{ return new byte[] { 40, 52, 159, 81, 79, 137, 99, 82 };
} } private static Byte[] IV_64
{ get
{
return new byte[] { 98, 55, 32, 117, 156, 60, 59, 81 };
} }
public static string EncryptCookie(string name)// DES加密 关键字、数据加密
{ //#region DES加密算法 if (name != "")
{ DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider(); MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms, cryptoProvider.CreateEncryptor(KEY_64, IV_64), CryptoStreamMode.Write); StreamWriter sw = new StreamWriter(cs); sw.Write(name); sw.Flush(); cs.FlushFinalBlock(); ms.Flush(); return Convert.ToBase64String(ms.GetBuffer(), 0, Int32.Parse(ms.Length.ToString())); } else
{ return ""; } }
public static string DecryptCookie(string temp)// DES解密
{
try
{
//#region DES 解密算法 if (temp != "")
{ DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider(); //从字符串转换为字节组 Byte[] buffer = Convert.FromBase64String(temp); MemoryStream ms = new MemoryStream(buffer); CryptoStream cs = new CryptoStream(ms, cryptoProvider.CreateDecryptor(KEY_64, IV_64), CryptoStreamMode.Read); StreamReader sr = new StreamReader(cs); return sr.ReadToEnd(); } else
{ return ""; }
} catch (Exception ex)
{ return ex.Message;
} }