Le funzioni SHA256 e SHA512 restituiscono hash errati

Descrizione

Ambiente

  • Campaign
  • Campaign Classic

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

Di seguito un link mostra altri utenti che hanno sollevato lo stesso problema: https://experienceleaguecommunities.adobe.com/t5/adobe-campaign-classic-questions/sha256-and-sha512-function-returns-wrong-hash/qaq-p/351035/comment-id/3882

Risoluzione

Un cliente ha condiviso una soluzione:

Si è verificato il problema perché Adobe converte il tipo di dati della stringa in nvarchar anziché varchar nel caso in cui il database utilizzi la codifica Unicode. Nel caso del cliente, l’impostazione predefinita della codifica del database viene utilizzata come Unicode per supportare il Thai lingua. Pertanto, Adobe ha convertito la stringa in nvarchar.

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

Nel caso del cliente, è stato possibile modificare tale campo (contenente solo un numero mobile) in varchar e inseriscilo correttamente.

Adobe Articolo comunitario:
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 carattere).

Esempio: hello darà 14cde7c9ad35de5a37fce2ac276742175028fd9f7cdf0dae01ff508b126429d9 come SHA-256 sulla ASCII/UTF-8 rappresentazione della stringa e darà 18fe2820b38427a08a5b49fb4d71a7027799bfe050d3050ca4d3491a85a aa0eb sul UTF-16 rappresentazione.

In questa pagina