Cita:
Iniciado por tuadmin mira ahi estas indicando que tu variable $plain_text es de la
Anterior en ese Anterior, la variable $iv es distinta a la actual $iv, en cada Ejecucion del SCRIPT, tu $iv sera distinta, aleatoria, random MCRYPT_DEV_URANDOM
asi que lo correcto y como todo mundo lo hace, Almacena ese $IV junto a tu texto Encriptado
como en esta modificacion a tu script
Código PHP:
Ver original$algorithm = MCRYPT_BLOWFISH;
$key = 'abrete';
$data = 'me gusta el pollo asado';
$mode = MCRYPT_MODE_CBC;
MCRYPT_DEV_URANDOM);
$encrypted_data = mcrypt_encrypt($algorithm, $key, $data, $mode, $iv); echo $plain_text . "\n";
$partes = explode(":",$plain_text); $decoded = mcrypt_decrypt($algorithm, $key, $encrypted_data, $mode, $iv); echo $decoded . "\n";
Hola gracias,
nadamas que me marco el siguiente error
Warning: Use of undefined constant MCRYPT_BLOWFISH - assumed 'MCRYPT_BLOWFISH' (this will throw an Error in a future version of PHP) in C:\wamp64\www\cookies\encode.php on line 197
Warning: Use of undefined constant MCRYPT_MODE_CBC - assumed 'MCRYPT_MODE_CBC' (this will throw an Error in a future version of PHP) in C:\wamp64\www\cookies\encode.php on line 200
Fatal error: Uncaught Error: Call to undefined function mcrypt_create_iv() in C:\wamp64\www\cookies\encode.php:202 Stack trace: #0 {main} thrown in C:\wamp64\www\cookies\encode.php on line 202
A su vez, ya habia creado otro que me funcionó
Código PHP:
Ver original$token = '<form action="ejemplo.php" method="get">
<p>Nombre: <input type="text" name="nombre" size="40"></p>
<p>Año de nacimiento: <input type="number" name="nacido" min="1900"></p>
<p>Sexo:
<input type="radio" name="hm" value="h"> Hombre
<input type="radio" name="hm" value="m"> Mujer
</p>
<p>
<input type="submit" value="Enviar">
<input type="reset" value="Borrar">
</p>
</form>';
$cipher_method = 'aes-128-ctr';
$enc_key = openssl_digest("clave maestra", 'SHA256', TRUE);
$enc_iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length($cipher_method));
$crypted_token = openssl_encrypt
($token, $cipher_method, $enc_key, 0, $enc_iv) . "::" . bin2hex($enc_iv); unset($token, $cipher_method, $enc_key, $enc_iv);
echo $crypted_token;
list($crypted_token, $enc_iv) = explode("::", $crypted_token);; $cipher_method = 'aes-128-ctr';
$enc_key = openssl_digest("clave maestra", 'SHA256', TRUE);
$token = openssl_decrypt($crypted_token, $cipher_method, $enc_key, 0, hex2bin($enc_iv));
unset($crypted_token, $cipher_method, $enc_key, $enc_iv);
echo "<br>".$token;