SHA256和SHA512函式傳回錯誤的雜湊

瞭解資料庫編碼如何影響Adobe Campaign中的雜湊值。 探索SHA256和SHA512函式中差異的解決方案。

說明 description

環境

  • Campaign
  • Campaign Classic

問題/症狀

據回報,SHA256和SHA512函式傳回錯誤的雜湊。

以下連結顯示其他人也提出相同問題:

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

解決方法 resolution

使用者已共用解決方案:

發生問題是因為在DB使用Unicode編碼的情況下,Adobe將字串資料型別轉換為nvarchar而非varchar。 在此情況下,資料庫編碼預設值會用作Unicode以支援​ 泰文 ​語言。 因此,Adobe已將字串轉換為nvarchar

函式 SHA256SHA512 正常運作,但會傳回varcharnvarchar的不同雜湊值。

在此情況下,可以將該欄位(僅包含行動電話號碼)變更為varchar並正確雜湊它。

Adobe社群文章:
https://experienceleaguecommunities.adobe.com/t5/adobe-campaign-classic-questions/sha256-and-sha512-functions-returning-wrong-hash/qaq-p/351034?profile.language=zh-Hant

此外,如果使用SQL Server,則摘要函式會使用字串的 UTF-16 表示法。 您不會取得預期的摘要(通常以 ASCIIUTF-8 字元計算)。

範例: hello​將在字串的 ASCII/UTF-8 表示法上將14cde7c9ad35de5a37fce2ac276742175028fd9f7cdf0dae01ff508b126429d9表示為SHA-256,並且將提供18fe2820b38427a08a5b49fb4d71a7027799bfe005在 UTF-16 表示法上的0d3050ca4d3491a85aa0eb。

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