Hola Expertos,
Soy bastante nuevo en los scripts de Groovy. Estoy usando un script para realizar decodebase64 en una cadena y hacer Messagedigest SHA1 en los datos. He logrado obtener el siguiente código pero no está funcionando.
import java.security.*;
def Message processData(Message message)
{
//Cuerpo def body = message.getBody(String.class);
String decoded = body.bytes.decodeBase64().toVarchar();
MessageDigest sha1 = MessageDigest.getInstance("SHA1");
byte[] digest = sha1.digest(decode.getBytes());
digest = new BigInteger(1, digest).toString(16);
message.setBody(digest);
return message;
}
La entrada sería:
kIAUQJVfhfLaTF2G4WouvCmZqA2zhFhujfqe3g1I4WBJobFrBWcXKG5XoPM1MQZF9UeoM0o99tf8FHVEkEIkN1s0Pw7vXyHurkbiY/Dic56Fqa+PovU9gU4US+oLHoEMSpoDMtrVtAskS0h6bCgv1Hph/1QHTlVeto/GIw0Obb9CtSqlfhoXL8ZqCBMlsWClF8q31PZaD4vt8ZRzjm/fnA1YsH8Fo5PfxdWFEVrsprvDyUHuRvr0CHbDyE7qszgYA+Ri0ylnulPEqOlsBvNpiXoiEtoOnFOjZrWmLCM6IjnR8b2efnTRQsELdYr3FjRbg1kLDz3xUDGBwTplF31CSw==
Después de decodificar, la entrada tiene caracteres unicode en ella. No puedo llegar a ella. Después de SHA1, la salida sería de 40 caracteres.
No puedo lograr esto con funciones estándar porque la salida de la función de decodificación estándar tiene caracteres Unicode.
¿Podrían ayudarme por favor?
Saludos,
Rajesh