2013-04-12 209 views
0

的网站,我的工作哈希散列密码以MD5密码。MD5跨平台

用户只是忘记了自己的密码,所以我在数据库中,我将密码设置为我的一个......

update users set pass = md5('[email protected]') 
where userid = 974 

当应用程序使用MD5散列和我设置的密码Md5哈希,我仍然无法登录与此用户的详细信息,我想知道...

哈希算法是跨平台相同还是有一些不同之间的方式它在.NET中完成,而不是它如何在MySQL中工作会导致哈希值不同?

+0

退房这里的答案:http://stackoverflow.com/questions/2435922/ – KacireeSoftware

+0

这里是另一个非常相关的职位 http://stackoverflow.com/questions/2249448/ – KacireeSoftware

回答

0
  1. 请不要使用MD5哈希密码,这是不安全的; use BCrypt or PBKDF2
  2. 的MD5规范should be consistent regardless of platform,是说一两件事,可能会引发问题的事实是,在hexits字母而输出可能是不同的情况下(例如,大写,而不是小写),在区分大小写的数据库查询,这只是问题。
  3. 也就是说密码可以为了防止Dictionary Attacks咸,盐化散列是一个未腌得益于Avalanche Effect完全不同。