Понимание структуры файлов 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));
Другие вопросы по тегам