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