SHA256和SHA512函数返回错误的哈希
了解数据库编码如何影响Adobe Campaign中的哈希值。 探索SHA256和SHA512功能中差异的解决方案。
描述 description
环境
- Campaign
- Campaign Classic
问题/症状
据报告,SHA256和SHA512函数返回错误的哈希。
下面的链接显示,其他人也提出了同样的问题:
解决方法 resolution
用户已共享解决方案:
出现该问题的原因是,在数据库使用Unicode编码的情况下,Adobe将字符串数据类型转换为nvarchar
而不是varchar
。 在这种情况下,数据库编码默认值将用作Unicode以支持 泰语 语言。 因此,Adobe将字符串转换为nvarchar
。
对于函数 SHA256 和 SHA512,它可正常使用,但会返回varchar
和nvarchar
的不同哈希值。
在这种情况下,可以将该字段(仅包含手机号码)更改为varchar
并正确对其进行哈希处理。
此外,如果使用SQL Server,则摘要函数将使用字符串的 UTF-16 表示形式。 您不会获得预期的摘要(通常按 ASCII 或 UTF-8 字符计算)。
示例: hello 将在字符串的 ASCII/UTF-8 表示形式上将14cde7c9ad35de5a37fce2ac276742175028fd9f7cdf0dae01ff508b126429d9表示为 SHA-256,并且将提供18fe2820b38427a08a5b49fb4d71a7027799bfe005在 UTF-16 表示法上的0d3050ca4d3491a85aa0eb。
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f