Ver Mensaje Individual
  #1  
Antiguo 19-06-2024
Galahad Galahad is offline
Miembro
 
Registrado: abr 2007
Posts: 266
Reputación: 20
Galahad Va por buen camino
cifrado AES/CBC y decodificación base64

Hola, buenas tardes
Estoy accediendo a un api web por REST donde recibo unos datos codificados.
No me aclaro para el descifrado de dichos datos.
Me dicen lo siguiente:

"Los datos se cifran usando "AES/CBC/PKCS5PADDING" y se codifican en base64 para su almacenamiento.
De esta forma para descifrarlo es necesario descodificar en un primer momento el base64 y descifrar la cadena de bytes resultante usando el algoritmo de cifrado
.
Los datos necesarios para el descifrado son el apiKey como key y el apiSecret como iv"

Lo del descodificación en base 64 no es problema, pero no me aclaro para crear el algoritmo de descifrado.
Tengo este ejemplo de descifrado en PHP, con esta base... ż podria crearse una función de descifrado idéntica en delphi ?
saludos..

Código PHP:
function decrypt_data($data$key$iv) {
        
$key_size 16;
        
$iv_size 16;
        
$padding '$';
        
$key substr(str_pad($key$key_size$padding), 0$key_size);
        
$iv substr(str_pad($iv$iv_size$padding), 0$iv_size);
        
$decryptedData openssl_decrypt(base64_decode($data), "AES-128-CBC"$keyOPENSSL_RAW_DATAbase64_decode($iv));
        return 
$decryptedData;
}
$string file_get_contents('./datos_cifrados.cx'true);
$key 'key';
$iv  'secret';
$res decrypt_data($string$key$iv);
echo 
$res;
?> 

Última edición por Neftali [Germán.Estévez] fecha: 20-06-2024 a las 12:33:07. Razón: Cambiar el título para aclarar que son 2 cosas distintas (cifrado y codificación)
Responder Con Cita