Хеширование паролей Dovecot

Может ли кто-нибудь сказать мне, как инструмент администрирования Dovecot (doveadm pw) хеширует пароли при использовании SHA-512. $6$ указывает SHA-512, за которым следует соль, затем хэш. Как именно Dovecot генерирует соль? Использует ли он собственный алгоритм? Насколько я понимаю, он использует /dev/random или /dev/urandom, но как он работает с символами, отличными от ASCII?


person Community    schedule 23.08.2014    source источник


Ответы (1)


Ничего, узнал в password-scheme.c.

Он читает данные из /dev/urandom и имеет массив разрешенных символов (static const char salt_chars[] = "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";).

Соль генерируется с использованием одного из символов из этого массива; точнее, он берет байт из /dev/urandom по модулю длины salt_chars - 1 и использует его в качестве индекса для выбора символа из salt_chars.

person Community    schedule 25.08.2014