You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redshift的SHA2与BigQuery的SHA256是否等价?结果差异咨询

问题原因

BigQuery的SHA256()函数返回的是Base64编码的SHA-256哈希值,而Redshift的SHA2(string, 256)返回的是十六进制字符串格式的哈希值,这是两者结果不同的核心原因。

解决方法

你可以通过以下两种方式让两边的哈希结果保持一致:

方式一:让Redshift输出和BigQuery一致的Base64格式

使用Redshift的ENCODE函数,将SHA2生成的十六进制哈希转换为Base64编码:

SELECT ENCODE(SHA2('testing', 256), 'base64');

执行结果:z4DNiu1ILV0VJ9fccvzv+E5jJlkoSER9LcCw6H38mpA=,和BigQuery的输出完全匹配。

方式二:让BigQuery输出和Redshift一致的十六进制格式

使用BigQuery的TO_HEX函数,将SHA256生成的Base64哈希转换为十六进制字符串:

SELECT TO_HEX(SHA256('testing'));

执行结果:cf80cd8aed482d5d1527d7dc72fceff84e6326592848447d2dc0b0e87dfc9a90,和Redshift的输出完全匹配。

内容的提问来源于stack exchange,提问作者paster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 17:25:28