为什么bcrypt总会返回不同的结果?

时间:2016-10-28 04:05:58

标签: laravel bcrypt password-hash

考虑以下打字稿:

$ ./artisan tinker
>>> bcrypt('123456')
=> "$2y$10$YLswQefA6JXTYMM5nH90we9siAtG71I1/LMa5XIkplCF32EMtXmKK"
>>> bcrypt('123456')
=> "$2y$10$LoakjerqalqFxI6r.BR.x.K1fycqWS59Xqfj.pblSzlPNLOcbWa/6"

为什么?

1 个答案:

答案 0 :(得分:2)

每次使用不同的盐。将random salt混合到哈希中以防止使用precomputed hash tables。如果没有腌制,攻击者将能够检测到password123之类的常见字符串,因为它们具有可识别的哈希值。腌制确保散列不可预测。