Cómo cifrar en JavaScript y descifrar cadenas en PHP usando AES y Cryptojs

Este tutorial ayuda a cifrar y descifrar cadenas usando cryptojs y php . Cryptojs es una biblioteca muy popular que se utiliza para convertir datos de cadenas en texto cifrado y viceversa.

Estoy usando la biblioteca Cryptojs de Angularjs / javascript para cifrar datos. Puede cifrar y descifrar cadenas, datos de formularios y cualquier parámetro de encabezado. Puede crear su propia clave pública sal que protegerá sus datos cifrados. La cadena SALT es una clave pública definida por el usuario que se utilizará para el cifrado y descifrado de datos / cadena. Este ejemplo funciona con CryptoJS 3.x y PHP5 + con Compatibilidad con openssl .

Estoy usando los archivos siguientes para descifrar cadenas en php

Aplicación Angular : la aplicación Angularjs convierte cadenas y las envía a la aplicación php para descifrar datos.
index.php – Este archivo es responsable para descifrar cadenas usando mcrypt_decrypt y mostrar datos.

Estamos usando el método cryptojs Hex para codificar key y iv en la aplicación angularjs. Estoy usando la siguiente clave y iv –

Por encima de la cadena de sal hay una clave pública que está disponible solo para el servidor de la parte y el lado del front-end.

Descifrar cadenas en PHP usando Cryptojs y AES

Existe la siguiente ayuda de código php para convertir datos cifrados en una cadena simple.

& lt;? php $ key = pack (“H *”, “0123456789abcdef0123456789abcdef”); $ iv = paquete (“H *”, “abcdef9876543210abcdef9876543210”); $ encriptado = base64_decode (‘MwOfGGCYPBEpQ0ImKQsgyA ==’); $ cadena_decifrado = mcrypt_decrypt (MCRYPT_RIJNDAEL_128, $ clave, $ encriptado, MCRYPT_MODE_CBC, $ iv); echo $ descifrar_cadena; ? & gt;

$ key = pack (“H *”, “0123456789abcdef0123456789abcdef”);

$ iv = paquete (“H *”, “abcdef9876543210abcdef9876543210”);

$ encrypted = base64_decode (‘MwOfGGCYPBEpQ0ImKQsgyA ==’);

$ decrypt_string = mcrypt_decrypt (MCRYPT_RIJNDAEL_128, $ clave, $ encriptado, MCRYPT_MODE_CBC, $ iv);

Estoy usando el método mcrypt_decrypt () para descifrar datos y la clave de cifrado MCRYPT_RIJNDAEL_128 .
Este tutorial de php ayuda para el cifrado / descifrado básico de cadenas usando AES y PHP. Eres libre de usar y personalizar este código.

Puede descargar el código fuente y la demostración desde el siguiente enlace.

Publicado originalmente en www.phpflow.com el 4 de noviembre de 2016.