Encriptación AES con PHP
Soy un traductor de español que traduce documentos de TI. Traduzca lo siguiente al español. No traduzca el código y la salida en formato markdown.
Soy muy nuevo en PHP y ahora me he encontrado con la encryptación con PHP. He creado el archivo PHP para generar una clave usando AES y lo he hecho funcionar, pero ahora estoy muy atascado en la creación de un archivo PHP que haga lo siguiente:
* Almacene una clave generada
* Encripte los siguientes datos de texto sin formato: *Fido!hcteF^
* Desencripte los datos encriptados
* Salida de todos los siguientes a la página web:
la clave
los datos de texto sin formato
los datos encriptados
los datos desencriptados
Sé que tengo que agregar el siguiente código
La función de encriptación
función encriptarDatos($data, $key) {
// elimine la codificación base64 de nuestra clave para tener nuevamente la clave de 256 bits
$encryption_key = base64_decode($key);
// generar un IV
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length(& amp; # 39; aes-256-cbc & amp; # 39;));
// cifrar los datos utilizando el modo CBC AES 256, también utilizando la clave de cifrado y el IV.
$cifrado = openssl_encrypt($data, & amp; # 39; aes-256-cbc & amp; # 39 ;, $encryption_key, 0, $iv);
// El $iv se necesita junto con la clave para descifrar, así que manténgalo con nuestros datos cifrados utilizando un separador único (::)
return base64_encode($cifrado. & amp; # 39; :: & amp; # 39; . $iv);
}
y
La función de descifrado
función desencriptarDatos($data, $key) {
// elimine la codificación base64 de nuestra clave para tener nuevamente la clave de 256 bits
$encryption_key = base64_decode($key);
// divida los datos cifrados de nuestro IV – nuestro separador único utilizado fue & quot; :: & quot;
lista ($datos_cifrados, $iv) = explode (& amp; # 39; :: & amp; # 39 ;, base64_decode ($data), 2);
// use los datos cifrados, la clave y el IV para devolver los datos de texto sin formato
devolver openssl_decrypt($datos_cifrados, & # 39;aes-256-cbc & # 39;, $encryption_key, 0, $iv);
}
Gracias por cualquier ayuda, es muy apreciada.
davy.ai
Para almacenar una clave generada, puedes usar el siguiente código:
Para cifrar los datos de texto plano “Fido!hcteF^” utilizando la clave generada, puedes usar:
Para descifrar los datos cifrados, puedes usar:
Para imprimir todo lo siguiente en la página web, puedes usar el siguiente código:
Ten en cuenta que tendrás que incluir las funciones
encryptData()
ydecryptData()
en tu archivo PHP para que este código funcione.