Ver Mensaje Individual
  #1  
Antiguo 27-06-2024
Galahad Galahad is offline
Miembro
 
Registrado: abr 2007
Posts: 266
Reputación: 20
Galahad Va por buen camino
error en desencriptación aes

Hola, buenas tardes
Estoy intentando utilizar la libreria DCcrypt2 para desencriptar una cadena de texto que consigo a partir de un servicio REST.
utilizando el código inferior se produce el error 'Range check error' en la línea que muestro a continuación

"DCP_rijndael.Init(apisecret[1], 128, @iv[1]);")

¿ alguien sabe porque puede ser o si se puede hacer de otra manera con estos componentes ?
Por otro lado, trabajamos con Delphi 12.1 , ¿ no tiene algo delphi de manera nativa para trabajar con este tipo de encriptado (aes/cbc) ?.
Lo he estado buscando , pero no he encontrado nada.


Código Delphi [-]
function Decrypt( Astr,apikey,apisecret:String ):string;
var d,s,iv:string;
    DCP_rijndael: TDCP_rijndael;
begin
  d:= Base64Decodestr(astr);
  DCP_rijndael := TDCP_rijndael.Create(self);
  try
    DCP_rijndael.Algorithm := 'AES/CBC/PKCS5PADDING';
    DCP_rijndael.CipherMode := cmCBC;
    DCP_rijndael.Init(apisecret[1], 128, @iv[1]);
    DCP_rijndael.SetIV(apikey);
    DCP_rijndael.DecryptCBC(d,s,Length(d));
  finally
    DCP_rijndael.free;
  end;

end;
Responder Con Cita