aes_encrypt函数

适用于:检查标记是的砖的SQL检查标记是的砖运行时10.3及以上

使用AES加密二进制加密。

语法

aes_encrypt(expr,关键(,模式(,填充(,四世(,油气地质]]]])

参数

  • expr:二进制表达式是加密的。

  • 关键:一个二进制表达式。用于加密的关键expr。24岁的必须是16或32个字节长。

  • 模式:一个可选的字符串表达式描述加密模式。

  • 填充:一个可选的字符串表达式描述如何加密处理填充长度值的关键。

  • 四世:一个可选的字符串提供一个初始化向量(IV)表达式GCM加拿大广播公司模式。适用于砖运行时的13.3及以上。

  • 油气地质:一个可选的字符串表达式提供经过验证的额外的数据(AAD)GCM模式。适用于砖运行时的13.3及以上。

返回

一个二进制

模式必须的(不区分大小写):

  • “CBC”:使用密文块链接(CBC)模式。适用于砖SQL,砖运行时13.2及以上。

  • “央行”:使用电子码(ECB)模式。

  • “GCM”:使用伽罗瓦/计数器模式(GCM)。这是默认的。

填充必须的(不区分大小写):

  • “没有”:不使用填充。有效的只是“GCM”

  • PKCS的:使用公钥加密标准(PKCS)填充。有效的只是“央行”“CBC”。PKCS填充添加1 -键的长度的字节数垫expr一个的倍数关键长度。每个垫的值填充字节的字节数。

  • “默认”:使用“没有”“GCM”PKCS的“央行”,“CBC”模式。

四世指定时,必须为12字节长GCM和16字节加拿大广播公司

该算法取决于关键的长度:

  • 16:aes - 128

  • 24:aes - 192

  • 32:aes - 256

例子

>选择base64(aes_encrypt(“火花”,“abcdefghijklmnop”));4A5jOAh9FNGwoMeuJukfllrLdHEZxA2DyuSQAWz77dfn>选择(aes_decrypt(unbase64(“4 a5joah9fngwomeujukfllrldhezxa2dyusqawz77dfn”),“abcdefghijklmnop”)作为字符串);火花>选择base64(aes_encrypt(“火花SQL”,“1234567890六边形abcdef”,“央行”,PKCS的));3lmwu+Mw0H3fi5NDvcu9lg= =>选择(aes_decrypt(unbase64(“3 lmwu + Mw0H3fi5NDvcu9lg = =”),“1234567890六边形abcdef”,“央行”,PKCS的)作为字符串);火花SQL>选择base64(aes_encrypt(“火花SQL”,“1234567890六边形abcdef”,“GCM”));2sXi+jZd/ws+qFC1Tnzvvde5lz+8Haryz9HHBiyrVohXUG7LHA= =>选择(aes_decrypt(unbase64(' 2 sxi + jZd / ws + qFC1Tnzvvde5lz + 8 haryz9hhbiyrvohxug7lha = = '),“1234567890六边形abcdef”,“GCM”)作为字符串);火花SQL>选择base64(aes_encrypt(“火花SQL”,“1234567890六边形abcdef”,“GCM”,“默认”,“123456789012”,一些广告的));MTIzNDU2Nzg5MDEyMdXvR41sJqwZ6hnTU8FRTTtXbL8yeChIZA= =>选择(aes_decrypt(unbase64(“MTIzNDU2Nzg5MDEyMdXvR41sJqwZ6hnTU8FRTTtXbL8yeChIZA = =”),“1234567890六边形abcdef”,“GCM”,“默认”,一些广告的)作为字符串);火花SQL