0
什麼將SQL語句是驗證密碼如果MySQL表看起來像這樣:鹽和sha512whirlpool驗證密碼在MySQL
user_id password salt
------- -------- ----
1 23ed2... m9f3m...
我想:
select * from password_table
where user_id = 1
and password = shal(`salt` + 'password')
order by id desc
limit 1
裏面也沒有回報什麼。該算法是sha512漩渦。
在PHP中它是這樣的:
hash('sha512', hash('whirlpool', $password));
這是可能的,它不能在一個SQL語句來完成。
您不應該使用簡單的哈希函數來保護您的用戶密碼。你需要使用像PBKDF2,bcrypt,scrypt和Argon2這樣強大的散列方案。一定要使用高成本因子/迭代次數。選擇成本是很常見的,因此一次迭代至少需要100ms。查看更多:[如何安全地哈希密碼?](http://security.stackexchange.com/q/211/45523) –