Estoy tratando de usar la función openssl_encrypt
en PHP, este es mi código:
<?php
$message = hex2bin("00112233445566778899aabbccddeeff");
$key = hex2bin("000102030405060708090a0b0c0d0e0f");
$method = "AES-128-ECB";
$cyphertext = openssl_encrypt($message, $method, $key);
echo bin2hex(base64_decode($cyphertext)) . "\n";
?>
Según FIPS 197 (consulte la página 35) y también this AES Calculator en línea , esto debería resultar en el siguiente cyphertext:
69c4e0d86a7b0430d8cdb78070b4c55a
pero en cambio mi código devuelve esta cadena:
69c4e0d86a7b0430d8cdb78070b4c55a954f64f2e4e86e9eee82d20216684899
¿Qué estoy haciendo mal? ¿La implementación de openssl utiliza un tamaño de bloque diferente?
Y sí, sé que no debo utilizar el BCE, pero esto es solo para fines de prueba, tan pronto como haya descubierto por qué esto no funciona, cambiaré a CBC.
Muchas gracias por tu ayuda.