我正在为邮件服务器开发一个 Web 管理模块(如果你想看看它是开源的)。
为此,我需要能够生成Dovecot可读的散列密码。如他们的 wiki 所述,他们推荐的密码散列方案是 SSHA256(额外的 S 用于盐渍)。
还解释说,使用以下 PHP 代码实现这可能相当简单:
$salt = 'generate_a_salt_somehow';
$hash = hash('sha256', $password . $salt);
然而,从我读过的关于密码学的内容来看,这是一种相当幼稚的生成加盐散列的方法,但如果你在源代码中输入 AES时做错了,我认为在这种情况下也是如此。
因此,如果您对密码学有深入了解,我很想听听最安全的方法,无论是 mcrypt、mhash 还是其他任何方法。