Я знаю, что поле пароля в / etc / shadow имеет префикс $ {number} $, если оно не просто зашифровано DES.Я не могу найти таблицу, которая соотносит тип шифрования с заданным числом.
Например, $ 1 $ будет означать MD5.Остальное, что ускользает от меня (т.е. SHA1, SHA256, Twofish, Blowfish и т. Д.)
Я прошел через источник к passwd
и chpasswd
, а также к glib, но я не нашелто, что я ищу.
Кто-нибудь может поделиться ссылкой на веб-страницу или даже подсказкой, где в glib я могу найти такую таблицу?Мне нужно программно обновлять пароли изнутри программы без использования вызовов system () или exec * ().Я хотел бы написать оригинальный код, потому что я хочу сохранить единую лицензию BSD из 3 пунктов и полное авторское право на мой код.
Простите, если это дубликат.Я нашел много вопросов о том, как разобрать / etc / shadow, но ни один из них не спросил, как определить тип шифрования второго поля.
Редактировать:
Для справки вот объявление от дискуссионной группы, которая продвинулась в реализации SHA (поверх DES) с поддержкой BSD Blowfish.