一、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