LightDB23.4支持mysql aes_encrypt/aes_decrypt/hex/unhex函数
背景介绍
为了兼容mysql数据库的功能,在LightDB23.4版本上支持hex/unhex/aes_encrypt/aes_decrypt函数。
函数原型如下:
- hex(data bytea) returns text
- unhex(data varchar) returns bytea
- aes_encrypt(data bytea, key bytea) returns bytea
- aes_encrypt(data varchar, key varchar) returns bytea
- aes_decrypt(data bytea, key bytea) returns bytea
- aes_decrypt(data varchar, key varchar) returns bytea
- aes_decrypt(data bytea, key varchar) returns bytea
使用示例
- hex函数,将bytea类型数据转成text类型
select hex('\x0123456789abcdef');hex
------------------0123456789abcdef
(1 row)
- unhex函数,将varchar类型数据转成bytea类型
select unhex('0123456789abcdef');unhex
--------------------\x0123456789abcdef
(1 row)
- aes_encrypt,使用aes加密算法和密钥加密数据。
select aes_encrypt('world', '123456');aes_encrypt
------------------------------------\x85400d3bbeeeb51259f497fcb4bee03e
(1 row)
- aes_decrypt,解密通过aes_encrypt加密的数据。
select aes_decrypt(aes_encrypt('world', '123456'), '123456');aes_decrypt
--------------\x776f726c64
(1 row)