public static string GetMD5(string myString) { MD5 md5 = new MD5CryptoServiceProvider(); byte[] fromData = System.Text.Encoding.Unicode.GetBytes(myString); byte[] targetData = md5.ComputeHash(fromData); string byte2String = null; for (int i=0; i<targetData.Length; i++) { byte2String += targetData[i].ToString("x"); } return byte2String; }
这个加密出来的密码居然不对,
例如:‘“123456”应该是e10adc3949ba59abbe56e057f20f883e
你用的编码格式是unicode对比utf8的生成的md5的值,肯定不一样呀
改成utf8就行了
byte[] fromData = System.Text.Encoding.UTF8.GetBytes(myString);
这个也不对
return FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower();
原来只需要一行代码
有什么好不对的.你两次是一样的结果.并且换成654321是不一样的结果.
那就行了.
md5叫:特征码.不是加密.
这是约定了md5加密的