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

瞭解資料庫編碼如何影響Adobe中的雜湊值。 探索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

解決方法 resolution

客戶已共用解決方案:

發生此問題的原因是Adobe將字串資料型別轉換為 nvarchar 而非 varchar 在DB使用Unicode編碼的情況下。 在客戶的情況下,會使用資料庫編碼預設作為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

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

範例: hello 會將14cde7c9ad35de5a37fce2ac276742175028fd9f7cdf0dae01ff508b126429d9指定為 SHA-256ASCII/UTF-8 38427 7027799表示字串,並將在 UTF-16 表示法。

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