Le funzioni SHA256 e SHA512 restituiscono hash errato

Scopri come la codifica del database influisce sui valori hash in Adobe Campaign. Esplora la soluzione per le discrepanze nelle funzioni SHA256 e SHA512.

Descrizione description

Ambiente

  • Campaign
  • Campaign Classic

Problema/Sintomi

È stato segnalato che le funzioni SHA256 e SHA512 restituiscono un hash errato.

Il link seguente mostra che anche qualcun altro 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 utente ha condiviso una soluzione:

Il problema si è verificato perché Adobe converte il tipo di dati della stringa in nvarchar invece di varchar nel caso in cui il database utilizzi la codifica Unicode. In questo caso, la codifica predefinita del database viene utilizzata come Unicode per supportare la lingua Thai. 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.

In questo caso, è stato possibile modificare il campo (contenente solo un numero di cellulare) in varchar e inserirlo correttamente nell'hashing.

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 la rappresentazione UTF-16 della stringa. Il digest previsto (spesso calcolato con ASCII o UTF-8 carattere) non verrà visualizzato.

Esempio: hello assegnerà 14cde7c9ad35de5a37fce2ac276742175028fd9f7cdf0dae01ff508b126429d9 come SHA-256 nella rappresentazione ASCII/UTF-8 della stringa e darà 18fe2820b38427a08a5b49fb4d71a7027799bfe050d3050ca4d3491a85aa0eb sulla rappresentazione UTF-16.

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