Использование неопределенной константы CRYPT_SHA512.

StackOverflow https://stackoverflow.com/questions/4339036

  •  30-09-2019
  •  | 
  •  

Вопрос

Я использую скрипт php, который хэширует пароли с использованием крипты php и использует SHA512, однако когда я пытаюсь проверить, установлен ли SHA512, я получаю вышеуказанную ошибку.Конечно, я знаю, ПОЧЕМУ я получаю эту ошибку..php отсутствует некоторая зависимость.Я просто не знаю, что это за зависимость.

Может ли кто-нибудь сказать мне, что мне нужно установить (на сервере Ubuntu), чтобы иметь возможность использовать SHA512 в PHP?

Спасибо!

Это было полезно?

Решение

В документации PHP говорится, что встроенная поддержка SHA-256 и SHA-512 была добавлена ​​в PHP 5.3.2.Если вы используете более ранние версии PHP, они полагаются на реализации алгоритмов, предоставляемых вашей системой, которых, по-видимому, нет в вашей.

Другие советы

Убедитесь, что у вас новейшая версия PHP5 и установка Mcrypt - также содержит много других методов шифрования, таких как Rinjdael (AES)

Нижняя линия, вы должны использовать Mcrypt, а не SHA512 или любой Hasther стиль MD5. Это слишком легко раскрывать их силы. Есть тонна хорошей ссылки на http://www.php.net/manual/en/function.mcrypt-generic.php. И по всему Google. Ниже приведен пример хешированного URL 3DES с использованием ссылочной функции urlsafe_b64encode из http://www.php.net/manual/en/function.mcrypt-generic.php#71135.

$key = "what can i tell you";
$request = http_build_query($_REQUEST);
$request_enc = urlencode(urlsafe_b64encode(mcrypt_ecb(MCRYPT_3DES, $key, $request, MCRYPT_ENCRYPT)));
$url = "http://localhost/takemerightthere/".$request_enc;
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top