Symfony2 中的 Bcrypt 加密

Bcrypt encryption in Symfony2

我需要使用 bcrypt 在 Symfony 中加密一个字符串。该字符串不是密码,它是一个 API 密钥,将作为 bcrypt 哈希保存在数据库中。为此,我只是在做

$key = 'superSecretKey';
$options = array('cost' => 12);
$hash = password_hash($key, PASSWORD_BCRYPT, $options)

问题是 password_hash() 仅适用于 PHP 5 >= 5.5.0,我仍然想保持与 PHP 5.4

的兼容性

是否有 "Symfony way" 加密字符串,所以如果 PHP 版本低于 5.5,它会像 Symfony 安全性那样使用 ircmaxell/password_compat?

ircmaxell/password_compat 是一个 polyfill 库。您可以将它添加到您的依赖项并调用 password_hash() 函数,而不必担心 PHP 版本。对于 PHP 5.5+,它将使用本机 PHP 版本,对于较低版本,它将求助于库。