PHP AES 暗号化/復号化
PHP で文字列の暗号化と復号化に Base64 エンコードと mcrypt を使用できますが、潜在的な問題があります。このアプローチ。安全な暗号化を実現するには、既存の信頼できる PHP 暗号化ライブラリを使用することをお勧めします。
セキュリティ強化のための Libsodium
PECL 拡張機能が許容される場合、Libsodium はより堅牢な暗号化を提供します。解決。特徴:
安全な暗号化および復号化関数
Libsodium を使用した安全な暗号化および復号化の例を次に示します:
// Safe encryption function function safeEncrypt($message, $key) { $nonce = sodium_randombytes_buf(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES); return base64_encode($nonce . sodium_crypto_secretbox($message, $nonce, $key)); } // Safe decryption function function safeDecrypt($encrypted, $key) { $decoded = base64_decode($encrypted); $nonce = substr($decoded, 0, SODIUM_CRYPTO_SECRETBOX_NONCEBYTES); $ciphertext = substr($decoded, SODIUM_CRYPTO_SECRETBOX_NONCEBYTES); return sodium_crypto_secretbox_open($ciphertext, $nonce, $key); }
テストLibsodium
この実装をテストするには:
// Get a random key $key = sodium_randombytes_buf(SODIUM_CRYPTO_SECRETBOX_KEYBYTES); // Your message to encrypt $message = 'Encrypting this message using Libsodium'; // Encrypt and decrypt $ciphertext = safeEncrypt($message, $key); $plaintext = safeDecrypt($ciphertext, $key); // Output results var_dump($ciphertext); // Encrypted message var_dump($plaintext); // Decrypted message
このアプローチは、データを暗号化する際に高いレベルのセキュリティを提供し、潜在的な脆弱性を軽減し、機密情報の整合性を保証します。
以上がLibsodium はどのように PHP の AES 暗号化と復号化のセキュリティを強化できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。