2013-04-12 265 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完全不同。