當我在PHP執行下一個腳本:PHP crypt函數結果:它是如何工作的?
$hash1 = crypt('test','$2a$08$useasillystringforsalt$');<br/>
echo 'hash1:'.$hash1.'<br/>';
$hash2 = crypt('test','$2a$08$useasillystringforsaley3TiRUWCAPaejcvjzQFYCRitqtaPur6');<br/>
echo 'hash2: '.$hash2.'<br/>';
$hash3 = crypt('test','$2a$08$useasillystringforsaley3TiRUWCAPaejcvjzQFYCRitqtaPur6');
<br/>
echo 'hash3: '.$hash3.'<br/>';
$hash4 = crypt('test','$2a$08$useasillystringforsalfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
<br/>
echo 'hash4: '.$hash4.'<br/>';
$hash5 = crypt('test','$2a$08$useasillystringforsaldaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
<br/>
echo 'hash5: '.$hash5.'<br/>';
$hash6 = crypt('test','$2a$08$useasillystringforsaleaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
<br/>
echo 'hash6: '.$hash6.'<br/>';
我得到如下結果:
hash1: $2a$08$useasillystringforsaley3TiRUWCAPaejcvjzQFYCRitqtaPur6
<br/>
hash2: $2a$08$useasillystringforsaley3TiRUWCAPaejcvjzQFYCRitqtaPur6
<br/>
hash3: $2a$08$useasillystringforsaley3TiRUWCAPaejcvjzQFYCRitqtaPur6
<br/>
hash4: $2a$08$useasillystringforsaley3TiRUWCAPaejcvjzQFYCRitqtaPur6
<br/>
hash5: $2a$08$useasillystringforsalOnUtWGdo1WqxrpPXy7Lrt0SHVxn5XeU6
<br/>
hash6: $2a$08$useasillystringforsaley3TiRUWCAPaejcvjzQFYCRitqtaPur6
HASH1的結果是:
crypt('test',$2a$08$useasillystringforsalt);
我的問題是:
除了hash5,所有結果如何都可以相同?我認爲鹽中最輕微的變化會產生完全不同的結果。
根據隱窩文檔,隱窩只關心食鹽的第22位。也就是說,我不知道爲什麼它不會出現不同 – Wug 2012-07-16 20:31:22