私は自分のパスワードをハッシュ化するために、この機能を使用します。64ビットのパスワードハッシュ
// RETURNS: rAyZOnlNBxO2WA53z2rAtFlhdS+M7kec9hskSCpeL6j+WwcuUvfFbpFJUtHvv7ji
base64_encode(hash_hmac('sha384', $str . SC_NONCE, SC_SITEKEY, true));
そして、私は
CHAR(64)フィールド(MySQLの-InnoDB)にハッシュを格納します。
char(64)の代わりにvarchar(64)を使用する必要がありますか?どうして?
編集: 私はSHA384でSHA256を変更しました。この例では、sha256は常に44バイトを返します。混乱して申し訳ありません。今は64バイトです。
ベース64のエンコードされた文字列が64ビット長のハッシュを返すのは間違いありませんか?私はそうは思わなかった... –
@BrendanBullen - 私は質問を更新しました。混乱している例のため申し訳ありません:( – dino