`
yanfaguanli
  • 浏览: 655445 次
文章分类
社区版块
存档分类
最新评论

C# WPF 快速开发16密码MD5加密

 
阅读更多

新建账户时,用户输入密码,如“123456”,系统用MD5函数将其变成一个不可逆的一个MD5字符串存在数据库。当用户登录时,输入密码“123456”,系统将其转换成MD5字符串与数据库中的MD5值进行比较。这是有些找回密码时,“客服”返回一个新的密码给你,因为“客服”也不知道你的明文密码是多少。

但对于简单字符串的MD5值,有很多都被记录起来,所以简单密码生成的MD5值,别人在数据库中遍历一下,就能得出对应的密码。所以使用“加盐”技术,即,你输入密码“123456”,系统自动追加为“123456%&2013”,再转换为MD5值存到数据库。这里,%&2013就是“盐”…

//MD5转换函数

publicstaticstringGetMD5(stringsDataIn)

{

MD5CryptoServiceProvidermd5=newMD5CryptoServiceProvider();

byte[]bytValue,bytHash;

bytValue=System.Text.Encoding.UTF8.GetBytes(sDataIn);

bytHash=md5.ComputeHash(bytValue);

md5.Clear();

stringsTemp="";

for(inti=0;i<bytHash.Length;i++)

{

sTemp+=bytHash[i].ToString("X").PadLeft(2,'0');

}

returnsTemp.ToLower();

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics