Dovecotでの認証には、SSHA256ハッシュを使用しますが、既存のハッシュに対して特定のパスワードを検証する方法がわかりません。SSHA256ハッシュの作成には、次のPHP関数(Webで見つかりました)が使用されます。
function ssha256($pw) {
$salt = make_salt();
return "{SSHA256}" . base64_encode( hash('sha256', $pw . $salt, true ) . $salt );
}
function make_salt() {
$len = 4;
$bytes = array();
for ($i = 0; $i < $len; $i++ ) {
$bytes[] = rand(1,255);
}
$salt_str = '';
foreach ($bytes as $b) {
$salt_str .= pack('C', $b);
}
return $salt_str;
}
出力例:{SSHA256}lGq49JTKmBC49AUrk7wLyQVmeZ7cGl/V13A9QbY4RVKchckL
塩を抽出する必要がありますが、どうすればよいですか?私は問題を解決する方法を完全に失いました、誰かがこれについてのヒントを持っていますか?
助けてくれたみんなに感謝します!
Dovecot 1.2.15はこれらのスキームのみをサポートしているため、申し訳ありませんが、SSHA256を使用する必要があります。
CRYPT MD5 MD5-CRYPT SHA SHA1 SHA256 SMD5 SSHA SSHA256 PLAIN CLEARTEXT CRAM-MD5 HMAC-MD5 DIGEST-MD5 PLAIN-MD4 PLAIN-MD5 LDAP-MD5 LANMAN NTLM OTP SKEY RPA