-
openssl_decrypt関数を使用する方法:
function decryptPassword($encryptedPassword, $encryptionKey) { $decryptedPassword = openssl_decrypt($encryptedPassword, 'AES-256-CBC', $encryptionKey, 0, substr($encryptionKey, 0, 16)); return $decryptedPassword; }
この例では、
$encryptedPassword
は暗号化されたパスワード、$encryptionKey
は暗号化に使用されるキーです。openssl_decrypt関数を使用して、AES-256-CBC暗号でパスワードを復号化します。 -
mcrypt_decrypt関数を使用する方法:
function decryptPassword($encryptedPassword, $encryptionKey) { $decryptedPassword = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $encryptionKey, base64_decode($encryptedPassword), MCRYPT_MODE_CBC, str_repeat("\0", 16)); return $decryptedPassword; }
この例では、
$encryptedPassword
は暗号化されたパスワード、$encryptionKey
は暗号化に使用されるキーです。mcrypt_decrypt関数を使用して、Rijndael 128ビットブロック暗号でパスワードを復号化します。 -
sodium_crypto_secretbox_open関数を使用する方法:
function decryptPassword($encryptedPassword, $encryptionKey) { $nonce = substr($encryptedPassword, 0, SODIUM_CRYPTO_SECRETBOX_NONCEBYTES); $ciphertext = substr($encryptedPassword, SODIUM_CRYPTO_SECRETBOX_NONCEBYTES); $decryptedPassword = sodium_crypto_secretbox_open($ciphertext, $nonce, $encryptionKey); return $decryptedPassword; }
この例では、
$encryptedPassword
は暗号化されたパスワード、$encryptionKey
は暗号化に使用されるキーです。sodium_crypto_secretbox_open関数を使用して、暗号化されたパスワードを復号化します。
以上の方法は、パスワードを暗号化した場合にのみ有効です。パスワードをハッシュ化して保存し、ログイン時にハッシュを比較することを強くお勧めします。また、パスワードの復号化はセキュリティ上のリスクとなるため、慎重に扱う必要があります。