PHP crypt()
использует солт-аргумент, чтобы определить, какой алгоритм использовать, но это не длина аргумента - это формат.Например, Blowfish выбирается путем предоставления соли в формате $2a$12$...
, где ...
- это 22 символа соли.
Учитывая, что $encryptedinfo
был создан ранее с использованием:
$encryptedinfo = crypt(...);
тогда метод проверки пароля, который вы указали, верен.Например, следующий скрипт печатает "Password verified!"
:
$encryptedinfo = crypt('mypassword', '$2a$12$t4cmBQx3na8EAeNuWLwiN1');
if (crypt('mypassword', $encryptedinfo) == $encryptedinfo) {
echo "Password verified!\n";
}