對字符串使用md5總是會生成字母數字加密結果,即:無符號。當我使用鹽漬的CRYPT_MD5加密我的密碼時,什麼在加密?
但是,當我使用php crypt()函數,特別是使用鹽的CRYPT_MD5(它已打開,我檢查過)時,它返回的假定md5散列看起來不像md5散列。
例如:
,如果我的MD5字符串 '密碼',我得到:
$pass = md5('password');
echo $pass;
//5f4dcc3b5aa765d61d8327deb882cf99
如果我使用CRYPT_MD5,這是由 '$ 1 $' 前綴和 '$' 表示後綴與鹽被「鹽」:現在
$pass = crypt('password', '$1$salt$');
echo $pass;
//$1$salt$qJH7.N4xYta3aEG/dfqo/0
,所使用的算法和鹽被示出爲預期的,「$ 1 $」表明CRYPT_MD5使用和鹽被示出爲「鹽」爲間$符號。
但是,在最後一個$符號之後的哈希密碼看起來不像一個md5 ......它具有斜線和全停在其中。
它爲什麼這樣散列它?這是不是一個真正的MD5?
請問你是否需要我澄清這一點。啊。
MD5不是一種加密算法,它是一種哈希算法。 http://en.wikipedia.org/wiki/Hash_function – 2010-01-14 14:39:34
這不是一個「加密」問題。這是一個關於哈希函數的問題,您已被重新標記。 – rook 2010-01-21 05:42:59