Использование md5 в строке всегда приводит к буквенно-цифровому зашифрованному результату, т.е.: без символов.
Однако, когда я использую функцию php crypt (), в частности CRYPT_MD5 (и он включен, я проверил) с солью, предполагаемый хэш md5, который он возвращает, не похож на хеш md5.
Например:
если я введу md5 строку 'пароль', я получу:
$pass = md5('password');
echo $pass;
//5f4dcc3b5aa765d61d8327deb882cf99
если я использую CRYPT_MD5, который обозначается префиксом '$ 1 $' и суффиксом '$', где соль является солью:
$pass = crypt('password', '$1$salt$');
echo $pass;
//$1$salt$qJH7.N4xYta3aEG/dfqo/0
Теперь используемый алгоритм и соль показаны как и ожидалось, «$ 1 $» показывает, что был использован CRYPT_MD5, а соль показана как «соль» между знаками $.
Однако ... хешированный пароль после этого последнего знака $ не похож на md5 ... в нем есть косые черты и точки остановки.
Почему это так хешируется? Разве это не настоящий MD5?
Пожалуйста, спросите, нужна ли вам я, чтобы уточнить что-либо из этого. Тьфу.