在mysql迁移到磐维2.0数据库过程中,mysql使用AES_ENCRYPT函数进行加密。
在磐维2.0数据库中,对应的加密函数为MY_ENCRYPT_AES128
--mysql使用AES_ENCRYPT进行加密,AES_DECRYPT解密
select HEX(AES_ENCRYPT('test1234','abcd2024')) from dual;
select CAST( AES_DECRYPT( UNHEX('9601EBDCB7FF3AB28AE56F8A544DD2F4'),'abcd2024') AS CHAR ) from dual;
mysql> select CAST( AES_DECRYPT( UNHEX('9601EBDCB7FF3AB28AE56F8A544DD2F4'),'abcd2024') AS CHAR ) from dual;
+------------------------------------------------------------------------------------+
| CAST( AES_DECRYPT( UNHEX('9601EBDCB7FF3AB28AE56F8A544DD2F4'),'abcd2024') AS CHAR ) |
+------------------------------------------------------------------------------------+
| test1234 |
+------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> select HEX(AES_ENCRYPT('test1234','abcd2024')) from dual;
+-----------------------------------------+
| HEX(AES_ENCRYPT('test1234','abcd2024')) |
+-----------------------------------------+
| 9601EBDCB7FF3AB28AE56F8A544DD2F4 |
+-----------------------------------------+
1 row in set (0.00 sec)
mysql>
--磐维2.0数据库使用MY_ENCRYPT_AES128进行加密,MY_DECRYPT_AES128解密
create extension pgcrypto;
select HEX(MY_ENCRYPT_AES128('test1234','abcd2024')) from dual;
select MY_DECRYPT_AES128(UNHEX('9601ebdcb7ff3ab28ae56f8a544dd2f4'),'abcd2024') from dual;
postgres=# create extension pgcrypto;
select HEX(MY_ENCRYPT_AES128('test1234','abcd2024')) from dual;ERROR: extension "pgcrypto" already exists in schema "public"
postgres=#
hex
----------------------------------
9601ebdcb7ff3ab28ae56f8a544dd2f4
(1 行记录)
postgres=# select MY_DECRYPT_AES128(UNHEX('9601ebdcb7ff3ab28ae56f8a544dd2f4'),'abcd2024') from dual;
my_decrypt_aes128
-------------------
test1234
(1 行记录)
postgres=#