Понимание структуры файлов linux /etc/shadow (Linux)
Рассмотрим следующую строку из файла /etc/shadow:
root:$1$NFEf74q.$bmukkxAq9dOMJINgEtP7u0:15258:0:::::
Из этого я понимаю, что алгоритм хеширования - это md5 ($1
) и начиная с третьего знака $ - хешированный пароль, состоящий из 22 символов. Из того, что я прочитал, эта длина связана с тем, что хеш-код дополнительно кодируется с помощью алгоритма base64, это правильно? И если да, то как бы вы получили оригинальный md5 (32 символа) из него?
1 ответ
Решение
Вы base64_decode строки, а затем вы преобразовываете двоичную строку в шестнадцатеричное представление.
В php вы бы использовали
$md5 = bin2hex(base64_decode($string));