¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como realizar decodeBase64 e MessageDigest SHA1 em Groovy de forma eficaz

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

Olá Especialistas,

Sou bastante novo em scripts Groovy. Estou usando um script para realizar decodebase64 em uma string e fazer Messagedigest SHA1 nos dados. Consegui obter o seguinte código, mas não está funcionando.

import java.security.*;

def Message processData(Message message)

{

//Corpo 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;

}

A entrada seria:

kIAUQJVfhfLaTF2G4WouvCmZqA2zhFhujfqe3g1I4WBJobFrBWcXKG5XoPM1MQZF9UeoM0o99tf8FHVEkEIkN1s0Pw7vXyHurkbiY/Dic56Fqa+PovU9gU4US+oLHoEMSpoDMtrVtAskS0h6bCgv1Hph/1QHTlVeto/GIw0Obb9CtSqlfhoXL8ZqCBMlsWClF8q31PZaD4vt8ZRzjm/fnA1YsH8Fo5PfxdWFEVrsprvDyUHuRvr0CHbDyE7qszgYA+Ri0ylnulPEqOlsBvNpiXoiEtoOnFOjZrWmLCM6IjnR8b2efnTRQsELdYr3FjRbg1kLDz3xUDGBwTplF31CSw==

Após decodificar, a entrada contém caracteres unicode. Não consigo chegar a ela. Após SHA1, a saída terá 40 caracteres.

Não consigo alcançar isso com funções padrão porque a saída da função de decodificação padrão tem caracteres Unicode.

Vocês poderiam me ajudar, por favor?

Saudações,

Rajesh

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

1 Respuestas

0
Cargando...

Olá pessoal!

Consegui fazer o script funcionar. Abaixo está o script:

import java.security.*;

import java.security.MessageDigest;

def Message processData(Message message)

{

//Corpo

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;

}

Saudações,

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?