私が見つけたパスワードを保存するための最も安全な方法の1つは、次のとおりです。
<?php
function createPasswordSalt($saltLength = 20) {
return substr(md5(uniqid(rand(), true)), 0, $saltLength);
}
function createPasswordHash($password, $salt = null, $staticKey = null) {
if ($staticKey === null) {
$staticKey = "Some passphrase that will be only in your php script";
}
if ($salt === null) {
$salt = self::createPasswordSalt();
}
return hash_hmac('sha512', $password . $salt, $staticKey);
}
そして、私はデータベースのパスワードとハッシュに保存します...
そこで、ここでは複数のセキュリティレイヤーを使用しました。そして、彼があなたのデータベースとphpスクリプトを一緒にした場合にのみ、あなたのパスワードをハックすることができます。いずれにせよ、ハッカーがあなたのスクリプトを持っている場合、彼はあなたがパスワードをハッシュするために使用するスキームを知っているので、あなたがデータベースに持っているどんなパスワードもハッキングすることができます。