Как безопасно генерировать хэши SSHA256 или SSHA512 в PHP?

Я работаю над модулем веб-администрирования для почтовых серверов (это открытый исходный код, если вы хотите посмотреть).

Для этого мне нужно уметь сгенерировать хешированный пароль, доступный для чтения Dovecot . Как описано в их вики , их рекомендуемая схема хеширования паролей - SSHA256 (дополнительный S означает соленый).

Также объясняется, что это может быть достаточно просто реализовать с помощью чего-то вроде этого кода PHP:

$salt = 'generate_a_salt_somehow';
$hash = hash('sha256', $password . $salt);

Однако из того, что я читал о криптографии, это довольно наивный способ генерировать соленые хэши, но если вы делаете это неправильно, когда набираете AES в исходном коде , я полагаю то же самое. может быть правдой в этом случае.

Так что, если вы разбираетесь в криптографии, я хотел бы услышать о наиболее безопасном способе сделать это, будь то mcrypt, mhash или что-то еще.

7
задан MrTux 21 January 2015 в 19:35
поделиться