Le funzioni SHA256 e SHA512 restituiscono hash errato

Scopri come la codifica del database influisce sui valori hash in Adobe. Esplora la soluzione alle discrepanze di funzioni SHA256 e SHA512.

Descrizione description

Ambiente

  • Campaign
  • Campaign Classic

Problema/Sintomi

Il cliente ha segnalato che le funzioni SHA256 e SHA512 restituiscono un hash errato.

Il collegamento seguente mostra un altro utente che ha sollevato lo stesso problema:

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

Risoluzione resolution

Un cliente ha condiviso una soluzione:

Il problema si è verificato perché Adobe converte il tipo di dati stringa in nvarchar invece di varchar nel caso in cui il database utilizzi la codifica Unicode. Nel caso del cliente, la codifica predefinita del database viene utilizzata come Unicode per supportare Thailandese lingua. Pertanto, Adobe ha convertito la stringa in nvarchar.

Per le funzioni SHA256 e SHA512, funziona normalmente, ma restituirà valori di hash diversi per varchar e nvarchar.

Nel caso del cliente, era possibile modificare tale campo (contenente solo un numero di cellulare) in varchar e inseriscilo correttamente nell'hash.

Adobe Articolo della community:
https://experienceleaguecommunities.adobe.com/t5/adobe-campaign-classic-questions/sha256-and-sha512-functions-returning-wrong-hash/qaq-p/351034

Inoltre, se si utilizza SQL Server, la funzione digest utilizza UTF-16 rappresentazione della stringa. Non riceverai il digest previsto (spesso calcolato su ASCII o UTF-8 ).

Esempio: ciao assegnerà 14cde7c9ad35de5a37fce2ac276742175028fd9f7cdf0dae01ff508b126429d9 come SHA-256 il ASCII/UTF-8 rappresentazione della stringa e darà 18fe2820b38427a08a5b49fb4d71a7027799bfe0050d3050ca4d3491a85aa0eb sul UTF-16 rappresentazione.

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