问题描述
$hash=sha1($key.$staticSalt);
和
$hash=sha1($key.$randomSalt);
如果我使用随机盐,我需要将随机盐存储在数据库中,另一方面如果我使用固定盐,然后不需要使用DB!
如果代码可以被黑客看到盐(静态),那么黑客将能够看到数据库也带有哈希和随机盐:D
那么值得吗?
如果我使用盐像 @#kiss〜89 +。&& ^ me
?
If i use random salt i need to store the random salt in the database, on the other side if i use a fixed salt then no need to use DB !
And if the code can be hacked to see the salt (static) then the hacker will be able to see the database also with the hash and random salt :D
So does it worth it ?
What if i use a salt like @#kiss~89+.&&^me
?
推荐答案
随机盐有很大的好处。如果系统中的所有帐户使用相同的盐,攻击者可以强制计算该盐的哈希值,并通过一次计算运行进入所有帐户。如果每个帐户使用不同的盐,强力只能让你进入一个帐户。
Random salts have a tremendous benefit. If all accounts in the system use the same salt, an attacker can brute-force calculate hashes for that salt and break into all accounts with just one computational run. If they use different salts per account, brute-force only gets you into one account.
这篇关于静态盐与随机盐 - 安全性PHP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!