2014-01-18 31 views
0

在爲unix密碼開發基於蠻力的破解算法時,我遇到了這一行:「鹽是從字符串集合中選擇的兩個字符的字符串[a-zA-Z0 -9./]。該字符串用於以4096種不同的方式擾亂算法。「什麼是鹽的使用,特別是「干擾」字

我沒有得到4096種方法? 2^12但是如何?

+0

_perturb_ 1.打擾很大;使不安或焦慮。 2.投入很大的困惑。 [來源](http://www.thefreedictionary.com/perturb) – some

+5

這個問題似乎是脫離主題,因爲它不是關於編程。 –

+0

用戶1選擇密碼「祕密」。用戶2選擇密碼「祕密」。兩個密碼都會哈希到相同的值,所以破解密碼也會破壞另一個密碼。現在加入鹽。用戶1現在擁有密碼「secretZ3」。用戶2現在擁有密碼「secretjY」。他們哈希到不同的值,所以破解一個不會透露其他密碼。鹽「干擾」產生的散列值,因此匹配的密碼沒有匹配的哈希值。 – rossum

回答

4

設置[a-zA-Z0-9.//]由64個字符組成。從整個64個字符集中選擇兩個字符給出64 * 64個可能性,或者4096個。

+0

但在使用unistd.h庫中定義的crypt函數時,它會要求鹽。所以電腦自動選擇4096種可能性中的一種? – user2035503

+0

@ user2035503這就是你引用的摘錄所說的。 – 2014-01-18 20:20:39

+0

明白了.. Thanx ... – user2035503