PHP< 5.5:password_hash兼容的crypt散列

时间:2014-04-14 17:47:36

标签: php bcrypt php-password-hash

行。我真的做了很大的研究,但我还没有获得任何加密/散列知识。在我自己的机器上我得到了PHP 5.5并且我使用了password_hash功能。我刚刚意识到,我的在线托管最高为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;
    }
}

正如您所看到的,这只是一个简单的叠加,但第一次使用它。如何用crypt函数替换password_hash和password_verify函数以便将来与passrowd_函数兼容?

例如。现在我将执行crypt(),然后将结果存储在用户数据库中,将来当我切换到password_hash和password_verify函数时,我希望这个加密密码能够工作,而不是强制每个用户更改密码。

我希望在我的研究期间我没有错过任何东西。我正在寻找简单,优雅,安全的解决方案:)。

Thx for you help,br

更新:我已阅读此内容(http://pl1.php.net/manual/en/function.password-hash.php):

password_hash()使用强大的单向散列算法创建新密码哈希。 password_hash()与crypt()兼容。因此,crypt()创建的密码哈希可以与password_hash()一起使用。

但是crypt有很多选择,而且我不太确定,如果它们都兼容的话。

1 个答案:

答案 0 :(得分:3)

根据OP的要求:

如果使用PHP<可以使用密码兼容包。 5.5

当您希望使用PHP的5.5 password_hash()函数时,这非常有用。