ホームページ > バックエンド開発 > PHPチュートリアル > PHP と JavaScript の間でデータを安全に暗号化および復号化するにはどうすればよいですか?

PHP と JavaScript の間でデータを安全に暗号化および復号化するにはどうすればよいですか?

DDD
リリース: 2024-11-24 05:19:10
オリジナル
507 人が閲覧しました

How to Securely Encrypt and Decrypt Data Between PHP and JavaScript?

PHP と JavaScript の間でデータを暗号化および復号化する

機密データを扱う場合、機密性を維持するために暗号化メカニズムを実装することが重要です。この記事では、PHP でデータを暗号化し、JavaScript で CryptoJS ライブラリを使用してデータを復号する方法について説明します。

PHP の暗号化

PHP はさまざまな暗号化関数を提供します、mcrypt_encrypt() および openssl_encrypt() を含みます。この例では、OpenSSL の openssl_encrypt() 関数を使用して、さまざまな暗号化アルゴリズムのサポートを活用します。

PHP 暗号化の例:

<?php
$text = "Data to encrypt";
$key = "Encryption key";

$msgEncrypted = openssl_encrypt($text, 'aes-256-cbc', $key, true, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND));
$msgBase64 = trim(base64_encode($msgEncrypted));

echo "<h2>PHP</h2>";
echo "<p>Encrypted:</p>";
echo $msgEncrypted;
echo "<p>Base64:</p>";
echo $msgBase64;
?>
ログイン後にコピー

での復号化JavaScript

提供された例の以下を置き換えます::

<textarea class="encrypted-data" cols="80" rows="5">&amp;#x3C;?php echo $msgBase64 ?&amp;#x3E;</textarea>
ログイン後にコピー

CryptoJS は、 AESアルゴリズム。この関数にはパスフレーズと暗号化された暗号文が必要です。

JavaScript 復号化の例:

<script> 
    var encryptedData = document.querySelector(".encrypted-data").value;
    var key = 'Encryption key';
    const decrypted = CryptoJS.AES.decrypt(encryptedData, key);
    console.log(decrypted.toString(CryptoJS.enc.Utf8));
</script>
ログイン後にコピー

結論

実装することで上記の手法を使用すると、PHP でデータを暗号化し、安全に復号化することで、データを効果的に保護できます。 JavaScriptで。データを保護するには、キー管理、安全なストレージ、脅威モデリングなどの追加要素を考慮する必要があることに注意してください。

以上がPHP と JavaScript の間でデータを安全に暗号化および復号化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート