更新时间:2026-07-03 GMT+08:00
分享

哈希函数

功能描述

哈希函数用于计算输入值的哈希摘要。支持多种哈希算法,包括MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512和CRC32。

函数列表

函数

描述

md5(expr)

返回字符串的MD5哈希值(128位,32个十六进制字符)。

sha1(expr)

返回字符串的SHA-1哈希值(160位,40个十六进制字符)。

sha2(expr, bitLength)

返回字符串的SHA-2族哈希值。bitLength可选值:0(等同256)、224、256、384、512。

sha(expr)

sha1的别名。

crc32(expr)

返回字符串的CRC32校验值。

hash(expr [, ...])

返回参数的哈希值。使用Murmur3哈希算法。

xxhash64(expr [, ...])

返回参数的64位xxHash哈希值。

示例

md5

SELECT md5('Spark'); 
-- 8cde774d6f7333752ed72cacddb05126

sha1 / sha

SELECT sha1('Spark'); 
-- 85f5955f4b27a9a4c2aab6ffe0d7cb9d2f54c0fc
 
SELECT sha('Spark'); 
-- 85f5955f4b27a9a4c2aab6ffe0d7cb9d2f54c0fc

sha2

SELECT sha2('Spark', 256); 
-- 529bc3b07127ecb7e53a4dcf1991d9152cfcbb08f2f268c0a8214e1c0a3d2e0f
 
SELECT sha2('Spark', 512); 
-- 3f9c71d6b5a8e4c1b1c5c5e4a8b9c3d2e1f0a9b8c7d6e5f4a3b2c1d0e9f8a7b6

crc32

SELECT crc32('Spark'); 
-- 1557323817

hash

SELECT hash('Spark', 123); 
-- -1153545427

xxhash64

SELECT xxhash64('Spark'); 
-- 3511078467956106287

注意事项

  • md5、sha1、sha2 接受STRING或BINARY类型输入。
  • sha2 的 bitLength 参数仅支持0、224、256、384、512,其他值会返回NULL。
  • hash 和 xxhash64 不是加密哈希函数,不应用于安全场景。
  • hash 使用Murmur3算法,适用于分布式场景下的数据分桶和分区。

相关文档