Maison >développement back-end >tutoriel php >Comment crypter et décrypter en toute sécurité des données entre PHP et JavaScript ?

Comment crypter et décrypter en toute sécurité des données entre PHP et JavaScript ?

DDD
DDDoriginal
2024-11-24 05:19:10514parcourir

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

Crypter et décrypter les données entre PHP et JavaScript

Lorsque vous travaillez avec des données sensibles, il est crucial de mettre en œuvre des mécanismes de cryptage pour maintenir leur confidentialité. Dans cet article, nous allons explorer comment chiffrer des données en PHP et les déchiffrer à l'aide de la bibliothèque CryptoJS en JavaScript.

Cryptage en PHP

PHP fournit diverses fonctions de chiffrement , y compris mcrypt_encrypt() et openssl_encrypt(). Dans notre cas, nous utiliserons la fonction openssl_encrypt() d'OpenSSL pour tirer parti de sa prise en charge de divers algorithmes de chiffrement.

Exemple de chiffrement 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;
?>

Décryptage en JavaScript

Remplacez ce qui suit dans le champ fourni exemple ::

<textarea class="encrypted-data" cols="80" rows="5">&amp;#x3C;?php echo $msgBase64 ?&amp;#x3E;</textarea>

CryptoJS fournit une fonction AES.decrypt() pratique pour décrypter les données cryptées à l'aide de l'algorithme AES. Cette fonction nécessite une phrase secrète et un texte chiffré.

Exemple de décryptage 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>

Conclusion

En implémentant Avec les techniques ci-dessus, vous pouvez sécuriser efficacement vos données en les chiffrant en PHP et en les déchiffrant en toute sécurité en JavaScript. Gardez à l'esprit que la sécurisation des données nécessite de prendre en compte des facteurs supplémentaires tels que la gestion des clés, le stockage sécurisé et la modélisation des menaces.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn