Avalados por :

Diferencias entre CL_ABAP_HMAC y javax.crypto.Mac: ¿Algoritmos iguales o distintos?

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 0 Vistas
0
Loading...

Hola

Estoy obteniendo un código HMAC diferente para los mismos datos de entrada y clave secreta al comparar CL_ABAP_HMAC=>CALCULATE_HMAC_FOR_CHAR (usando el algoritmo SHA256) con el resultado de javax.crypto.Mac (usando el algoritmo HmacSHA256).

¿Alguien sabe si los algoritmos utilizados por esas clases son exactamente iguales? Sospecharía que debería ser así, pero al obtener un código hash diferente en el resultado para la misma entrada, comencé a dudar. ¿O tal vez estoy haciendo algo mal?

Gracias por cualquier ayuda.

Saludos,

Slawek

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

3 Respuestas

0
Loading...

¡Esto fue de gran ayuda!

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

Hi,

La versión de ABAP parece estar funcionando bien. Tal vez solo estás mezclando tipos y no importa. Por ejemplo, en este sitio

Generador / Herramienta de Verificación de HMAC en línea gratuita (MD5, SHA-1, SHA-256, etc.) - FreeFormatter.com

puedes calcular HMAC-256. Lo hice para la clave = "ABC" y los datos = "ABC". El resultado es 87bed3bb8821d3196854b37290e5a1c3e518f99eff4101219d1d492fed1eba1a. Para obtener el mismo valor, primero debes convertir ABC a xstring usando el método STRING_TO_XSTRING. Esto te da 414243. Luego, si simplemente estableces la clave en 414243 y los datos en ABC, el MAC devuelto por CALCULATE_HMAC_FOR_CHAR es el mismo que el anterior. Hice todo esto en SE24 solo probando la clase.

Saludos

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

Hola,

La versión de ABAP parece estar funcionando bien. Tal vez simplemente estás mezclando tipos y no importa. Por ejemplo, en este sitio

Generador / Herramienta de Verificación HMAC en línea gratuita (MD5, SHA-1, SHA-256, etc.) - FreeFormatter.com

puedes calcular HMAC-256. Lo hice para la clave = "ABC" y los datos = "ABC". El resultado es 87bed3bb8821d3196854b37290e5a1c3e518f99eff4101219d1d492fed1eba1a. Para obtener el mismo valor, primero debes convertir ABC a xstring usando el método STRING_TO_XSTRING. Esto te da 414243. Luego, si simplemente estableces la clave en 414243 y los datos en ABC, el MAC devuelto desde CALCULATE_HMAC_FOR_CHAR es el mismo que el anterior. Hice todo esto en SE24 solo probando la clase.

Saludos

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?