PHPでの不可逆暗号化の実装方法
PHP のハッシュ関数による不可逆暗号化とは、任意長入力の固定長ハッシュへの変換で、復元は困難です。
ハッシュ関数を使用した不可逆暗号化の実装は次のコード例を参照してください。
$password = 'password123';
$hashedPassword = password_hash($password, PASSWORD_DEFAULT);
echo $hashedPassword;
上記のコードでは、パスワードをハッシュ化して暗号化するためにpassword_hash関数を使用しています。PASSWORD_DEFAULTパラメータは、最も強力な最新のハッシュアルゴリズムを使用して暗号化することを意味します。暗号化された結果には、固定長のハッシュ値が含まれています。
暗号化されたハッシュ値とパスワードが一致するかの検証が必要な場合は、password_verify 関数を使用します。例を以下に示します。
$hashedPassword = '$2y$10$Zjvtf9Y6v6h3d.E0Oht6AeK9cK/EnXhG4yBf8JZQr0ZIqZEtDiH9q';
$password = 'password123';
if (password_verify($password, $hashedPassword)) {
echo '密码匹配!';
} else {
echo '密码不匹配!';
}
上記のコードでは、password_verify 関数を使用して、 平文のパスワードがハッシュ値と一致するかどうかを確認しています。 一致すれば、パスワードは正しいです。
ハッシュ関数は不可逆であるため、ハッシュ値から元のパスワードを復元することはできないことに注意してください。したがって、パスワードがハッシュ化されると、元のパスワードを入手することは不可能になります。