考慮以下打字稿:爲什麼bcrypt總是返回不同的結果?
$ ./artisan tinker
>>> bcrypt('123456')
=> "$2y$10$YLswQefA6JXTYMM5nH90we9siAtG71I1/LMa5XIkplCF32EMtXmKK"
>>> bcrypt('123456')
=> "$2y$10$LoakjerqalqFxI6r.BR.x.K1fycqWS59Xqfj.pblSzlPNLOcbWa/6"
這是爲什麼?
考慮以下打字稿:爲什麼bcrypt總是返回不同的結果?
$ ./artisan tinker
>>> bcrypt('123456')
=> "$2y$10$YLswQefA6JXTYMM5nH90we9siAtG71I1/LMa5XIkplCF32EMtXmKK"
>>> bcrypt('123456')
=> "$2y$10$LoakjerqalqFxI6r.BR.x.K1fycqWS59Xqfj.pblSzlPNLOcbWa/6"
這是爲什麼?
每次都使用不同的鹽。將A random salt混入哈希以防止使用precomputed hash tables。如果沒有醃製,攻擊者將能夠檢測到由於其可識別的散列而產生的常見字符串,如password123
。鹽分確保哈希不可預測。
也可以立即知道兩個或多個人是否有相同的密碼 –
你能否在彩虹桌上詳細說明一下,如果這就是你提到的?我收集,他們不只是密碼和哈希之間的映射?智能哈希表? –
正是這樣:密碼和哈希之間的映射。沒有sal an,攻擊者可以預先計算許多常見密碼的哈希值。 –
@AlexeyMezenin首先''/ php'通常不會工作。其次,爲什麼不把它保留下來('。/ artisan')?這意味着可以讓「artisan」可執行並更容易運行。對於那些還不知道的人。 –
如果你願意解釋你什麼時候downvote,我會很感激;) –