MySQL 中 AES_DECRYPT 加密,如何在瀚高数据库中使用
生活随笔
收集整理的這篇文章主要介紹了
MySQL 中 AES_DECRYPT 加密,如何在瀚高数据库中使用
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
瀚高數(shù)據(jù)庫(kù)
目錄
環(huán)境
癥狀
問(wèn)題原因
解決方案
環(huán)境
系統(tǒng)平臺(tái):銀河麒麟R系(CPU龍芯)4,銀河麒麟U(xiǎn)系(CPU飛騰)4
版本:4.5.2,6.0
癥狀
MySQL替換為國(guó)產(chǎn)瀚高數(shù)據(jù)庫(kù)時(shí), AES_DECRYPT 加密在瀚高數(shù)據(jù)庫(kù)中使用報(bào)錯(cuò)
問(wèn)題原因
MySQL數(shù)據(jù)庫(kù)中利用AES_ENCRYPT()與AES_DECRYPT()加解密,瀚高數(shù)據(jù)庫(kù)中有區(qū)別。
解決方案
瀚高數(shù)據(jù)庫(kù)提供了加密模塊pgcrypto,來(lái)對(duì)數(shù)據(jù)進(jìn)行加密&解密
使用方法如下:
1、登錄數(shù)據(jù)庫(kù),打開(kāi)該功能,執(zhí)行SQL:
create extension pgcrypto;2、對(duì)表中某字段數(shù)據(jù)進(jìn)行加密:
例如:有表s4,字段為name(varchar),對(duì)name字段加密。
該表有四條數(shù)據(jù):
highgo=# table s4;name ------12我s(4 行記錄)3、加密:
encrypt(data bytea, key bytea, type text) returns byteadata為要加密的數(shù)據(jù),key為帶有密鑰key的data加密,type為指定的加密/解密數(shù)據(jù)的方法,type支持的值為 bf, aes, aes128, aes192, aes256select encrypt(name::bytea,'aa','aes') from s4;encrypt ------------------------------------\x6172d60ea8e724965539fd4e69066f2b\x3fee3e5d5b9c8e14769c8fa2f6ad5b11\xac1a63f002731b6a017ce5ba82fb65e8\xfc81af448c11cc4c5cb1ac59e52165e7(4 行記錄)`
4、解密:
```cpp decrypt(data bytea, key bytea, type text) returns byteaselect convert_from(decrypt('\x6172d60ea8e724965539fd4e69066f2b','aa','aes'),'SQL_ASCII');convert_from --------------1(1 行記錄) select convert_from(decrypt('\x3fee3e5d5b9c8e14769c8fa2f6ad5b11','aa','aes'),'SQL_ASCII');convert_from --------------2(1 行記錄)總結(jié)
以上是生活随笔為你收集整理的MySQL 中 AES_DECRYPT 加密,如何在瀚高数据库中使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 命令行方式实现QQ自动登录
- 下一篇: 智慧养老解决方案有哪些新行业诞生?