¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Comparação de algoritmos HMAC: CL_ABAP_HMAC vs javax.crypto.Mac - Diferenças e soluções

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

Olá

Estou obtendo um código HMAC diferente para os mesmos dados de entrada e chave secreta ao comparar CL_ABAP_HMAC=>CALCULATE_HMAC_FOR_CHAR (usando o algoritmo SHA256) com o resultado de javax.crypto.Mac (usando o algoritmo HmacSHA256).

Alguém sabe se os algoritmos utilizados por essas classes são exatamente iguais? Suspeitaria que deveriam ser, mas ao obter um código hash diferente como resultado para a mesma entrada, comecei a duvidar. Ou talvez eu esteja fazendo algo errado?

Obrigado por qualquer ajuda

Cumprimentos,

Slawek

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

3 Respuestas

0
Cargando...

Isso foi de grande ajuda!

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

Olá,

A versão do ABAP parece estar funcionando bem. Talvez você esteja apenas misturando tipos e isso não importa. Por exemplo, neste site

Gerador / Ferramenta de Verificação de HMAC online gratuita (MD5, SHA-1, SHA-256, etc.) - FreeFormatter.com

você pode calcular HMAC-256. Eu fiz com a chave = "ABC" e os dados = "ABC". O resultado é 87bed3bb8821d3196854b37290e5a1c3e518f99eff4101219d1d492fed1eba1a. Para obter o mesmo valor, primeiro você precisa converter ABC para xstring usando o método STRING_TO_XSTRING. Isso te dá 414243. Em seguida, se você simplesmente configurar a chave como 414243 e os dados como ABC, o MAC retornado por CALCULATE_HMAC_FOR_CHAR é igual ao anterior. Fiz tudo isso no SE24 apenas testando a classe.

Saudações

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

Olá,

A versão do ABAP parece estar funcionando bem. Talvez você esteja apenas misturando tipos e não importa. Por exemplo, neste site

Gerador / Ferramenta de Verificação HMAC online gratuita (MD5, SHA-1, SHA-256, etc.) - FreeFormatter.com

você pode calcular HMAC-256. Eu fiz para a chave = "ABC" e os dados = "ABC". O resultado é 87bed3bb8821d3196854b37290e5a1c3e518f99eff4101219d1d492fed1eba1a. Para obter o mesmo valor, primeiro você precisa converter ABC para xstring usando o método STRING_TO_XSTRING. Isso lhe dá 414243. Então, se você simplesmente definir a chave como 414243 e os dados como ABC, o MAC retornado por CALCULATE_HMAC_FOR_CHAR é o mesmo que o anterior. Fiz tudo isso no SE24 apenas testando a classe.

Saudações

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?