Cifrado y descifrado PHP AES

AESHP tiene una extensión incorporada para cifrar y descifrar cadenas utilizando métodos de PHP .

Función openssl_encrypt()utilizada para cifrar cadenas y openssl_decrypt()utilizada para descifrar cadenas.

[Cifrar y descifrar cadenas usando funciones Open SSL en PHP]

openssl_encrypt()y openssl_decrypt()toma un conjunto de parámetros obligatorios y opcionales, la información sobre los parámetros se muestra en la siguiente tabla:

alcance describir
data texto plano/cadena
cipher_algo Criptométodo, en nuestro caso,AES
passphrase La frase de contraseña se rellena silenciosamente con caracteres nulos si es más corta que el límite o se trunca si es larga.
options Separación bit a bit de banderas. OPENSSL_RAW_DATAy OPENSSL_ZERO_PADDING.
iv Vector de inicialización, no vacío.
tag Etiqueta de autenticación CGMoCCM
aad Datos de autenticación adicionales.
tag_length La longitud de la etiqueta de autenticación está entre 4 y 16

openssl_encrypt()Toma todos los parámetros anteriores, openssl_decrypt()excluyendo aady cuando se usa tag_length.

<?php
//Encryption
$original_string = "Hello! This is delftstack";  // Plain text/String
$cipher_algo = "AES-128-CTR"; //The cipher method, in our case, AES 
$iv_length = openssl_cipher_iv_length($cipher_algo); //The length of the initialization vector
$option = 0; //Bitwise disjunction of flags
$encrypt_iv = '8746376827619797'; //Initialization vector, non-null
$encrypt_key = "Delftstack!"; // The encryption key
// Use openssl_encrypt() encrypt the given string
$encrypted_string = openssl_encrypt($original_string, $cipher_algo,
			$encrypt_key, $option, $encrypt_iv);

//Decryption
$decrypt_iv = '8746376827619797'; //Initialization vector, non-null
$decrypt_key = "Delftstack!"; // The encryption key
// Use openssl_decrypt() to decrypt the string
$decrypted_string=openssl_decrypt ($encrypted_string, $cipher_algo,
		$decrypt_key, $option, $decrypt_iv);

//Display Strings
echo "The Original String is: <br>" . $original_string. "<br><br>" ;
echo "The Encrypted String is: <br>" . $encrypted_string . "<br><br>";
echo "The Decrypted String is: <br>" . $decrypted_string;
?>

El código anterior primero AEScifra la cadena usando el método y luego la descifra.

Producción:

The Original String is:
Hello! This is delftstack

The Encrypted String is:
21tZwb2Wrw2gPGid29Bfy7TacU1bEmCbaw==

The Decrypted String is:
Hello! This is delftstack

AES tiene diferentes opciones según el método y la cantidad de bits cipher_algorithams, como por ejemplo aes-128-cbc, aes-192-cfbo aes-256-cbc.

Vea todas las opciones para el cifrado AES y otros métodos aquí .

Supongo que te gusta

Origin blog.csdn.net/weixin_50251467/article/details/131777442
Recomendado
Clasificación