Las funciones SHA256 y SHA512 devuelven un hash incorrecto

Descubra cómo la codificación de la base de datos afecta a los valores hash en Adobe Campaign. Explore la solución para detectar discrepancias en las funciones SHA256 y SHA512.

Descripción description

Entorno

  • Campaign
  • Campaign Classic

Problema/Síntomas

Se informó de que las funciones SHA256 y SHA512 devolvían un hash incorrecto.

El vínculo siguiente muestra que otra persona también ha planteado el mismo problema:

https://experienceleaguecommunities.adobe.com/t5/adobe-campaign-classic-questions/sha256-and-sha512-function-returns-wrong-hash/td-p/351035?profile.language=es

Resolución resolution

Un usuario ha compartido una solución:

El problema se produjo porque el Adobe convierte el tipo de datos de cadena en nvarchar en lugar de en varchar en el caso de que la base de datos utilice la codificación Unicode. En este caso, la codificación predeterminada de la base de datos se usa como Unicode para admitir el idioma Thai. Por lo tanto, el Adobe convirtió la cadena en nvarchar.

Para las funciones SHA256 y SHA512, funciona normalmente, pero devolverá valores de hash diferentes para varchar y nvarchar.

En este caso, se pudo cambiar ese campo (que solo contiene un número móvil) a varchar y hash correctamente.

Artículo de la comunidad Adobe:
https://experienceleaguecommunities.adobe.com/t5/adobe-campaign-classic-questions/sha256-and-sha512-functions-returning-wrong-hash/qaq-p/351034?profile.language=es

Además, si se usa SQL Server, la función de resumen utiliza la representación UTF-16 de la cadena. No obtendrá el resumen esperado (que a menudo se calcula en ASCII o UTF-8 caracteres).

Ejemplo: hello dará 14cde7c9ad35de5a37fce2ac276742175028fd9f7cdf0dae01ff508b126429d9 como SHA-256 en la representación ASCII/UTF-8 de la cadena y dará 18fe2820b38427a08a5b49fb4d71d a7027799bfe0050d3050ca4d3491a85aa0eb en la representación de UTF-16.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f