使用密碼「TESTTEST」和哈希「KFtIFW1vulG5nUH3a0Mv」與在依賴於PHP版本不同的散列以下代碼結果的兩個不同的值(如下面的圖像中):crypt函數輸出取決於PHP版本
$salt = "KFtIFW1vulG5nUH3a0Mv";
$password = "testtest";
$key = '$2a$07$';
$key = $key.$salt."$";
echo crypt($password, $key);
輸出1(PHP v.5.3.0 - 5.4.41,21年5月5日 - 5.5.25,5.6.5 - 5.6.9):$2a$07$KFtIFW1vulG5nUH3a0Mv$.0imhrNa/laTsN0Ioj5m357/a8AxxF2q
輸出2(PHP v.5.5.0 - 5.5.20,5.6.0-5.6.4):$2a$07$KFtIFW1vulG5nUH3a0Mv$e0imhrNa/laTsN0Ioj5m357/a8AxxF2q
這是一個問題的例子m: http://3v4l.org/dikci
這是一個大問題,如果crypt被用於哈希登錄密碼,依賴於PHP版本哈希會有所不同。任何人都明白這個問題是從哪裏來的,以及如何處理它?
define *「取決於PHP版本」*並閱讀手冊http://php.net/crypt –
看看附件中的圖片,某些PHP版本輸出的結果與其他版本不同。我現在將添加細節。 – JimmyBanks
我在高分辨率;很難看到它;需要眯眯 –