CRC32
函数语法:
CRC32(<expr> string|binary)
支持引擎:
SPARKSQL
, PRESTO
使用说明:使用CRC32算法计算表达式的循环冗余校验值。
返回类型:
bigint
示例:
> select crc32('tencent');820633257
MD5
函数语法:
MD5(<expr string|binary)
支持引擎:SPARKSQL, PRESTO。
使用说明:以十六进制字符串形式返回MD5 128位校验和。
返回类型:string
示例:
> select md5('tencent');3da576879001c77b442b9f8ef95c09d6
HASH
函数语法:
HASH(<expr1> any[, <expr2> any, ...])
支持引擎:SPARKSQL, PRESTO。
使用说明:返回所有参数的哈希值。
SPARKSQL
与PRESTO
计算方式不一致,可能会得到不同的结果。返回类型:
integer
示例:
> SELECT hash('tencent', array(123), 2);-412995102
XXHASH64
函数语法:
XXHASH64(<expr1> any[, <expr2> any, ...])
支持引擎:SPARKSQL, PRESTO。
使用说明:返回参数的64位哈希值。
SPARKSQL
与PRESTO
计算方式不一致,可能会得到不同的结果。返回类型:bigint
示例:
> SELECT xxhash64('tencent', array(123), 2);-1900074178543885261
SHA
函数语法:
SHA(<expr> string|binary)
支持引擎:SPARKSQL, PRESTO。
使用说明:以十六进制字符串形式返回
expr
的sha1哈希值。返回类型:
string
示例:
> select sha('tencent');f94b2c96e2f127726ef4bcec6bc779f0f2e7888f
SHA1
函数语法:
SHA1(<expr> string|binary)
支持引擎:SPARKSQL, PRESTO。
使用说明:以十六进制字符串形式返回
expr
的sha1哈希值。返回类型:
string
示例:
> select sha1('tencent');f94b2c96e2f127726ef4bcec6bc779f0f2e7888f
SHA2
函数语法:
SHA2(expr string|binary, bitLength int)
支持引擎:SPARKSQL, PRESTO。
使用说明:以十六进制字符串形式返回
expr
的SHA-2族的校验和。支持SHA-224、SHA-256、SHA-384和SHA-512。位长度0等于256。返回类型:
string
示例:
> select sha2('tencent', 256);9c8ae69b84f21a2e46df9edf0063a697afec050188ff2884ddc8ab32b5e58c43
AES_ENCRYPT
函数语法:
AES_ENCRYPT(<expr> string|binary, <key> string|binary)
支持引擎: PRESTO。
使用说明:使用AES算法加密
expr
返回类型:
binary
示例:
> SELECT hex(aes_encrypt('tencent', '0000111122223333'));B99B99CE3359A736DBB9811ED8815C01
AES_DECRYPT
函数语法:
AES_DECRYPT(<expr> string|binary, <key> string|binary)
支持引擎:
PRESTO
使用说明:使用AES算法解密
expr
返回类型:
binary
示例:
> SELECT aes_decrypt(unhex('B99B99CE3359A736DBB9811ED8815C01'), '0000111122223333');tencent