Skip to main content

哈希函数

本页面全面概述了 Databend 中的哈希函数,按功能分类编排以便查阅。

加密哈希函数

函数描述示例
MD5计算 MD5 128 位校验和MD5('1234567890')'e807f1fcf82d132f9bb018ca6738a19f'
SHA1 / SHA计算 SHA-1 160 位校验和SHA1('1234567890')'01b307acba4f54f55aafc33bb06bbbf6ca803e9a'
SHA2计算 SHA-2 系列哈希值(SHA-224、SHA-256、SHA-384、SHA-512)SHA2('1234567890', 256)'c775e7b757ede630cd0aa1113bd102661ab38829ca52a6422ab782862f268646'
BLAKE3计算 BLAKE3 哈希值BLAKE3('1234567890')'e2cf6ae2a7e65c7b9e089da1ad582100a0d732551a6a07abb07f7a4a119ecc51'

非加密哈希函数

函数描述示例
XXHASH32计算 xxHash32 32 位哈希值XXHASH32('1234567890')3768853052
XXHASH64计算 xxHash64 64 位哈希值XXHASH64('1234567890')12237639266330420150
SIPHASH64 / SIPHASH计算 SipHash-2-4 64 位哈希值SIPHASH64('1234567890')2917646445633666330
CITY64WITHSEED计算带种子的 CityHash64 哈希值CITY64WITHSEED('1234567890', 42)5210846883572933352

使用示例

数据完整性验证

-- 计算文件内容的 MD5 哈希
SELECT
filename,
MD5(file_content) AS content_hash
FROM files
ORDER BY filename;

数据匿名化

-- 存储或处理前哈希敏感数据
SELECT
user_id,
SHA2(email, 256) AS hashed_email,
SHA2(phone_number, 256) AS hashed_phone
FROM users;

基于哈希的分区

-- 使用哈希函数实现数据分布
SELECT
XXHASH64(customer_id) % 10 AS partition_id,
COUNT(*) AS records_count
FROM orders
GROUP BY partition_id;
Explore Databend Cloud for FREE
Low-cost
Fast Analytics
Easy Data Ingestion
Elastic Scaling
Try it today