Мне нужно зашифровать строку в Symfony с помощью bcrypt. Строка не является паролем, это ключ 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» для шифрования строки, поэтому в случае версии PHP ниже 5.5 он будет использовать ircmaxell / password_compat, как это делает безопасность Symfony?
ircmaxell/password_compat
является библиотекой polyfill Вы можете просто добавить его в свои зависимости и вызвать password_hash()
функция, не беспокоясь о версии PHP. Для PHP 5.5+ он будет использовать собственную версию PHP, для более низких версий он будет прибегать к библиотеке.
Других решений пока нет …