Die Funktionen SHA256 und SHA512 geben einen falschen Hash zurück
Erfahren Sie, wie sich die Datenbankkodierung auf Hash-Werte in Adobe Campaign auswirkt. Erkunden Sie die Lösung für Diskrepanzen in den SHA256- und SHA512-Funktionen.
Beschreibung description
Umgebung
- Campaign
- Campaign Classic
Problem/Symptome
Es wurde berichtet, dass die Funktionen SHA256 und SHA512 einen falschen Hash zurückgeben.
Der nachstehende Link zeigt, dass eine andere Person dasselbe Problem angesprochen hat:
Auflösung resolution
Ein Benutzer hat eine Lösung freigegeben:
Das Problem trat auf, weil Adobe den Datentyp „String“ (Zeichenfolge) in "nvarchar
" konvertiert statt in "varchar
", wenn die Datenbank Unicode-Codierung verwendet. In diesem Fall wird die Standardcodierung der Datenbank als Unicode verwendet, um die Sprache Thai zu unterstützen. Daher konvertierte Adobe die Zeichenfolge in nvarchar
.
Für die Funktionen SHA256 und SHA512 funktioniert es wie normal, gibt jedoch unterschiedliche Hash-Werte für varchar
und nvarchar
zurück.
In diesem Fall war es möglich, dieses Feld (das nur eine Mobiltelefonnummer enthält) zu ändern, um es korrekt zu varchar
und zu hashen.
Adobe Community-Artikel:
https://experienceleaguecommunities.adobe.com/t5/adobe-campaign-classic-questions/sha256-and-sha512-functions-returning-wrong-hash/qaq-p/351034?profile.language=de
Wenn SQL Server verwendet wird, verwendet die Digest-Funktion außerdem die UTF-16-Darstellung der Zeichenfolge. Sie erhalten nicht den erwarteten Auszug (der häufig anhand des ASCII oder UTF-8-Zeichens berechnet wird).
Beispiel: hello gibt 14cde7c9ad35de5a37fce2ac276742175028fd9f7cdf0dae01ff508b126429d9 als SHA-256 auf der ASCII/UTF-8-Darstellung der Zeichenfolge und gibt 18fe2820b38427a08a5b49fb4d71a7027799bfe0050d3050ca4d3491a85aa0eb in der UTF-16.