SHA256 및 SHA512 함수가 잘못된 해시를 반환함
데이터베이스 인코딩이 Adobe Campaign의 해시 값에 미치는 영향에 대해 알아봅니다. SHA256 및 SHA512 함수의 불일치에 대한 솔루션을 살펴보십시오.
설명 description
환경
- Campaign
- Campaign Classic
문제/증상
SHA256과 SHA512 함수가 잘못된 해시를 반환한다고 보고되었다.
아래 링크는 다른 사용자도 동일한 문제를 제기했음을 보여 줍니다.
해결 방법 resolution
사용자가 솔루션을 공유했습니다.
DB에서 유니코드 인코딩을 사용하는 경우 Adobe이 문자열 데이터 형식을 varchar 대신 nvarchar(으)로 전환하므로 문제가 발생했습니다. 이 경우 데이터베이스 인코딩 기본값은 태국어 언어를 지원하는 유니코드로 사용됩니다. 따라서 Adobe이 문자열을 nvarchar(으)로 변환했습니다.
함수 SHA256 및 SHA512 의 경우 정상적으로 작동하지만 varchar 및 nvarchar에 대해 다른 해시 값을 반환합니다.
이 경우 해당 필드(휴대폰 번호만 포함)를 varchar(으)로 변경하고 올바르게 해시할 수 있습니다.
또한 SQL Server를 사용하는 경우 다이제스트 함수에서는 문자열의 UTF-16 표현을 사용합니다. 필요한 다이제스트(종종 ASCII 또는 UTF-8 문자로 계산됨)를 가져오지 않습니다.
예: hello 은(는) 문자열의 ASCII/UTF-8 표현에 14cde7c9ad35de5a37fce2ac276742175028fd9f7cdf0dae01ff508b126429d9를 SHA-256 으로 제공하고 UTF-16 에 18fe2820b38427a08a5b49fb4d71a7027799bfe0050d3050ca4d3491a8eb 0을 제공합니다.