¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo realizar decodeBase64 y MessageDigest SHA1 en Groovy de manera efectiva

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 8 Vistas
0
Cargando...

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

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

1 Respuestas

0
Cargando...

¡Hola chicos!

Logré hacer funcionar el script. A continuación se muestra el script:

import java.security.*;

import java.security.MessageDigest;

def Message processData(Message message)

{

//Cuerpo

def body = message.getBody(String.class);

def digest = MessageDigest.getInstance('SHA1').digest(body.decodeBase64())

def result = new BigInteger(1, digest).toString(16) message.setBody(result);

return message;

}

Saludos,

Rajesh

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?