我试图使用红移中具有256位值的SHA2
对数据进行散列,但结果与BigQuery中的SHA256
不同。不确定它是否可以使用,因为我的用户正在使用BigQuery,但是我的团队正在使用Redshift。
这就是我在尝试的。
BigQuery
SELECT SHA256('testing')
z4DNiu1ILV0VJ9fccvzv+E5jJlkoSER9LcCw6H38mpA=
红移
SELECT SHA2('testing', 256)
Result: cf80cd8aed482d5d1527d7dc72fceff84e6326592848447d2dc0b0e87dfc9a90
或者请建议使用哪种功能,谢谢提前。
发布于 2022-11-07 15:19:53
可能两者都是正确的,但它们是以不同的格式显示的。
红移的答案与我的计算机计算的sha256是一致的,但这两个都是返回一个十六进制字符串。但是,BigQuery以字节数据类型(我相信是base64)来生成结果-参见https://cloud.google.com/bigquery/docs/reference/standard-sql/hash_functions
您需要将BigQuery输出转换为相同的编码(类型)来比较这些-请参阅What to try to get BigQuery to CAST BYTES to STRING?
https://stackoverflow.com/questions/74341677
复制相似问题