MY_DECRYPT_AES128
功能描述
Vastbase在MySQL兼容模式下支持使用MY_DECRYPT_AES128解密函数:根据给出的密钥字符串返回指定密文字符串的解密结果。
解密使用的密钥字符串必须与加密时使用的密钥字符串一致才能正常解密。
注意事项
该功能仅在数据库兼容模式为MySQL时能够使用(即创建DB时DBCOMPATIBILITY='B'),在其他数据库兼容模式下不能使用该特性。
使用此函数需要用户预先安装pgcrypto插件。
语法格式
MY_DECRYPT_AES128(crypt_str, key)
参数说明
crypt_str
密文字符串,text类型或者bytea类型。
key
用于解密的任意长度密钥字符串。支持中文字符。
解密时使用的密钥字符串必须与加密时一致才能正常解密。
示例
1、创建并切换至兼容模式为MySQL的数据库db_mysql下。
CREATE DATABASE db_mysql DBCOMPATIBILITY= 'B';
\c db_mysql
2、创建pgcrypto插件。
create extension pgcrypto;
3、使用中文字符作为原始数据以及密钥,并调用HEX函数得到加密结果的十六进制形式。
select HEX(MY_ENCRYPT_AES128('测试中文','test'));
返回结果如下:
hex
----------------------------------
747b55c24be0e2ccb2111336685d8bc0
(1 row)
4、将上一步得到的密文数据使用UNHEX函数转换后的结果作为MY_DECRYPT_AES128解密函数的入参。
select MY_DECRYPT_AES128(UNHEX('747b55c24be0e2ccb2111336685d8bc0'),'test');
返回结果如下,得到加密前的原始数据:
my_decrypt_aes128
-------------------
测试中文
(1 row)