В чем разница между CRYPT () и MD5 ()? - PullRequest
0 голосов
/ 26 сентября 2018

Когда мы используем метод CRYPT () для любой переменной.

$test = 'password';

echo CRYPT($test);

Результат

$1$g9s9ZdtF$sBBiBc4PdljOL4sDLx4CK.

Когда мы используем метод MD5 () той же переменной.

$test = 'password';

echo MD5($test);

Результат

5f4dcc3b5aa765d61d8327deb882cf99

Теперь, что такоеразница в обоих ответах?

1 Ответ

0 голосов
/ 27 сентября 2018

crypt () - это функция, которая создает хэши паролей из открытого текста и (случайным образом генерируемые или предоставляемые) солт-значения.Он может использовать несколько лежащих в основе алгоритмов хеширования, таких как DES, MD5, Blowfish или SHA.

Использование «соленого» пароля означает, что один и тот же ввод открытого текста не всегда создает один и тот же хеш.Таким образом, вы не можете сказать: «Я видел этот хеш до того, как он был написан для abc123».

Поскольку он доступен в libc, функции crypt () имеются почти на всех языках программирования и серверах баз данных, поэтому егоочень совместим.Насколько он защищен, зависит только от выбранного вами алгоритма хеширования (указан как часть хеша).

Для получения дополнительной информации см. https://en.wikipedia.org/wiki/Crypt_(C)

...