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=ko

해결 방법 resolution

사용자가 솔루션을 공유했습니다.

DB에서 유니코드 인코딩을 사용하는 경우 Adobe이 문자열 데이터 형식을 varchar 대신 nvarchar(으)로 전환하므로 문제가 발생했습니다. 이 경우 데이터베이스 인코딩 기본값은 태국어 언어를 지원하는 유니코드로 사용됩니다. 따라서 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=ko

또한 SQL Server를 사용하는 경우 다이제스트 함수에서는 문자열의 UTF-16 표현을 사용합니다. 필요한 다이제스트(종종 ASCII 또는 UTF-8 문자로 계산됨)를 가져오지 않습니다.

예: hello ​은(는) 문자열의 ASCII/UTF-8 표현에 14cde7c9ad35de5a37fce2ac276742175028fd9f7cdf0dae01ff508b126429d9를 SHA-256 으로 제공하고 UTF-16 에 18fe2820b38427a08a5b49fb4d71a7027799bfe0050d3050ca4d3491a8eb 0을 제공합니다.

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