数据湖计算 DLC 二进制函数

这篇说说了腾讯云提供的多种哈希和加密函数,包括CRC32、MD5、HASH、XXHASH64、SHA、SHA1、SHA2、AES_ENCRYPT和AES_DECRYPT。这些函数支持SPARKSQL和PRESTO引擎,用于计算循环冗余校验值、生成哈希值和进行AES加密解密操作。每种函数的语法、使用说明、返回类型和示例都在文档中详细列出。CRC32: 使用CRC32算法计算表达式的循环冗余校验值,返回bigint类型。。

相关产品
数据湖计算 DLC 产品页,含版本规格、价格与购买入口。

一、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(&lt;expr1&gt; any[, &lt;expr2&gt; any, …])

·支持引擎:SPARKSQL, PRESTO。

·使用说明:返回所有参数的哈希值。SPARKSQL与PRESTO计算方式不一致,可能会得到不同的结果。

·返回类型:integer

·示例:

> SELECT hash('tencent', array(123), 2);-412995102

四、XXHASH64

·函数语法:

XXHASH64(&lt;expr1&gt; any[, &lt;expr2&gt; 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

赞 (0)
上一篇 4天前
下一篇 4天前