Dovecot密码哈希

时间:2014-08-23 17:49:50

标签: hash sha512 dovecot

任何人都可以告诉我使用SHA-512时Dovecot管理工具(doveadm pw)如何散列密码。 $ 6 $表示SHA-512,后跟盐,然后是哈希。 Dovecot究竟是如何生成盐的?它使用自己的算法吗?据我所知,它使用/ dev / random或/ dev / urandom,但它如何处理非ASCII字符?

1 个答案:

答案 0 :(得分:3)

没关系,在password-scheme.c中找到。

它从/ dev / urandom读取数据,并且有一个包含允许字符的数组(static const char salt_chars [] =" ./ 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" ;;)。

使用该数组中的一个字符生成salt;确切地说,它从/ dev / urandom模拟salt_chars - 1的长度,并使用它作为索引从salt_chars中选择一个char。