好的。我做了一项很大的研究,但我没有任何密码/哈希知识。在我自己的机器上,我得到了php5.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函数替换为加密函数,以便将来与passrowd_函数兼容?
例如。现在,我将执行crypt()操作,然后将结果存储在用户数据库中,将来当我切换到password_hash和password_verify函数时,我希望这个加密密码能够工作,而不是强迫每个用户更改密码。
我希望在我的研究中我没有错过任何东西。我正在寻找简单、优雅、安全的解决方案:)。
帮你个忙,br
UPDATE:我读过这个(http://pl1.php.net/manual/en/function.password-hash.php):
password_hash()使用强大的单向散列算法创建新的密码哈希。password_hash()与crypt()兼容。因此,由crypt()创建的密码哈希可以与password_hash()一起使用。
但是地窖有很多种选择,我不太确定它们是否都是兼容的。
发布于 2014-04-14 17:57:21
按OP的要求:
如果在PHP < 5.5,则可以使用密码兼容性包
当您希望使用PHP5.5 password_hash()函数时,这尤其有用。
https://stackoverflow.com/questions/23066747
复制相似问题