好的。我真的做了很大的研究,但我没有任何加密/散列知识。在我自己的机器上,我有 php 5.5,我正在使用 password_hash 函数。我刚刚意识到,我的在线主机最高支持 PHP 5.4。
我有一个特殊的加密类,这就是为什么(希望)没有太多改变要做的原因。这是我的简单代码:
class Enigma {
public static function hash($password) {
return password_hash($password, PASSWORD_DEFAULT);
}
public static function verify($password, $hash) {
if (password_verify($password, $hash)) return true;
return false;
}
}
正如您所看到的,这只是一个简单的覆盖,但第一次使用它。如何将 password_hash 和 password_verify 函数替换为 crypt 函数,以便将来与 passrowd_ 函数兼容?
例如。现在我将执行 crypt(),然后将结果存储在用户数据库中,并且将来当我将切换到 password_hash 和 password_verify 函数时,我希望这个加密密码能够工作,而不是强迫每个用户更改密码。
我希望在我的研究过程中我没有错过任何东西。我正在寻找简单、优雅、安全的解决方案:)。
谢谢你的帮助,br
更新:我读过这个(http://pl1.php.net/manual/en/function.password-hash.php):
password_hash() 使用强大的单向散列算法创建一个新的密码散列。password_hash() 与 crypt() 兼容。因此,由 crypt() 创建的密码哈希可以与 password_hash() 一起使用。
但是 crypt 有很多选择,我不太确定它们是否都兼容。