【发布时间】:2019-03-02 02:27:47
【问题描述】:
当我们使用任何变量的 CRYPT() 方法时。
$test = 'password';
echo CRYPT($test);
结果
$1$g9s9ZdtF$sBBiBc4PdljOL4sDLx4CK.
当我们使用同一变量的 MD5() 方法时。
$test = 'password';
echo MD5($test);
结果
5f4dcc3b5aa765d61d8327deb882cf99
现在,这两个答案有什么区别?
【问题讨论】:
-
它们只是两种不同的哈希算法。比较结果是没有意义的,因为它们并不打算给出相同的结果。
-
CRYPT 用于创建哈希并对其进行加盐处理,这意味着每次都会生成不同的哈希,而 MD5 是简单的哈希算法。 附言。今天MD5很不安全,用SHA256 OR SHA512
-
既然你想哈希密码,你绝对应该使用password_hash()和password_verify()函数。 MD5 和 SHA* 不应该用于哈希密码,因为它们太快了,因此很容易被暴力破解。
标签: php passwords md5 crypt cryptographic-hash-function