public string GetMD5(string str)
{
System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();
Encoding en = Encoding.Default;
byte[] buff = md5.ComputeHash(en.GetBytes(str));
StringBuilder sb = new StringBuilder();
for (int i = 0; i < buff.Length; i++)
{
sb.Append(buff[i].ToString("X2"));
}
return sb.ToString();
}以上是代码,把winfrom打包或者在debug中将exe取出来,在不同的电脑上显示的MD5加密结果都不一样。
有部分电脑是相同但是有的电脑就不相同,请问为什么呢?
加密的字符串是一串英文加当前的年月日
GetMD5("winfrom " + DateTime.Now.Date.ToString())这样调用的...
{
System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();
Encoding en = Encoding.Default;
byte[] buff = md5.ComputeHash(en.GetBytes(str));
StringBuilder sb = new StringBuilder();
for (int i = 0; i < buff.Length; i++)
{
sb.Append(buff[i].ToString("X2"));
}
return sb.ToString();
}以上是代码,把winfrom打包或者在debug中将exe取出来,在不同的电脑上显示的MD5加密结果都不一样。
有部分电脑是相同但是有的电脑就不相同,请问为什么呢?
加密的字符串是一串英文加当前的年月日
GetMD5("winfrom " + DateTime.Now.Date.ToString())这样调用的...
解决方案 »
- 求助:无标题栏窗体移动的代码问题
- toolstrip合并一次后,在合并,为什么只能执行上一次合并后事件
- int 和 Int64的问题
- C# get和set访问器的问题
- 如何写软件的技术手册\维护手册啊?解决马上给分,谢谢
- 请教高手!关于源代码管理器!
- 如何在windows service中打开exe 文件
- 高分求助!WCF前端连接服务器时提示套接字连接已中止。这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的。本地套接字超时是“00:01
- (送分拉)如何按照如下需求继承treeview写一个新控件?
- 请问《展现C#》的英文名是什么
- 各位比较牛的兄弟 进来看看吧
- 如何动态调用实体类
看看别人怎么实现的吧,我也说不上来
我是在不同的电脑运行同一个winfrom程序显示的md5加密结果不一样...
这个Encoding.Default是会不同电脑不一样的。换成Encoding.Unicode或Encodeing.UTF8。
也是会不同电脑不一样的(时间格式不同,结果就不一样)。
{
string cl = str;
string pwd = "";
System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();
byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
for (int i = 0; i < s.Length; i++)
{ pwd = pwd + s[i].ToString("X"); }
return pwd;
}
之前我也怀疑是不是,我代码换成了这个,全部用UTF8的了,但是还有不一样...