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?profile.language=ko

해결 방법 resolution

고객이 솔루션 공유:

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

예: hello 은(는) (으)로 14cde7c9ad35de5a37fce2ac276742175028fd9f7cdf0dae01ff508b126429d9을 제공합니다. SHA-256 다음에 있음 ASCII/UTF-8 문자열의 표현이며,에 18fe2820b38427a08a5b49fb4d71a7027799bfe0050d3050ca4d3491a85aa0eb를 제공합니다. UTF-16 표시.

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