日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql实现内容加密_简单为mysql 实现透明加密方法

發(fā)布時(shí)間:2025/3/12 数据库 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql实现内容加密_简单为mysql 实现透明加密方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一般用戶在數(shù)據(jù)庫(kù)中保存數(shù)據(jù),雖然數(shù)據(jù)庫(kù)存儲(chǔ)的是二進(jìn)制,無(wú)法直接明文打開查看,但是如果是一個(gè)外行人,直接連接進(jìn)入mysql中,還是可以直接查看數(shù)據(jù)的。

所以對(duì)于一些核心數(shù)據(jù),特別是企業(yè)重要數(shù)據(jù)資產(chǎn),一般會(huì)再增加一個(gè)透明加密的數(shù)據(jù)安全保護(hù),以避免一些無(wú)關(guān)人員直接獲取重要信息。

在O記里,就有專門的透明加密的功能模塊,叫做Oracle Key Manager,感興趣的童鞋可以去研究一下。

眾所周知,mysql 在互聯(lián)網(wǎng)里使用得非常多,除了它的性能確實(shí)不錯(cuò)外,免費(fèi)也是一個(gè)重要原因。但是免費(fèi)就代表著不講究,對(duì)于一些重要的企業(yè)功能,它沒有,你也不能夠說(shuō)啥,畢竟O記也為大家提供商業(yè)版本。

所以在MySQL 中,是不具備透明加密功能的。雖然如此,但是mysql 具備加密/解密的基礎(chǔ)功能啊,還有函數(shù)和觸發(fā)器,無(wú)論環(huán)境多么惡劣,只要想做成一件事,總有方法來(lái)實(shí)現(xiàn),人民群眾是歷史的創(chuàng)造者。

---- 分割線??----

首先為了避免加密 和 解密的 key 直接暴露,我們先創(chuàng)造一張表來(lái)保存這個(gè)key 值。

--配置一個(gè)保存 加/解 密 key 的表,并且提前準(zhǔn)備一個(gè)key 值

create table tkey (keyname varchar(100));insert into tkey values ('sequoiadb');

創(chuàng)建一張測(cè)試表,避免后面的觸發(fā)器無(wú)法創(chuàng)建

--測(cè)試表,驗(yàn)證加密和解密效果

drop table if existstest;create table test (id int, name varchar(100));

創(chuàng)建insert 和 update 的觸發(fā)器,觸發(fā)器只針對(duì) test.name 字段進(jìn)行加密保存,對(duì) test.id 字段不做處理。如果大家在業(yè)務(wù)里想做得更加復(fù)雜,肯定需要包裝一層配置方式,這里只介紹如何實(shí)現(xiàn)

--insert的 觸發(fā)器,只針對(duì) test.name 字段進(jìn)行加密保存

drop trigger if existst_insert;

DELIMITER ;;create triggert_insert

beforeinsert ontestforeach rowbegin

select keyname into @key_name from tkey limit 1;set new.name = hex(AES_ENCRYPT(new.name, @key_name));end;;

DELIMITER ;--update 觸發(fā)器,只針對(duì) test.name 字段進(jìn)行加密更新

drop trigger if existst_update;

DELIMITER ;;create triggert_update

beforeupdate ontestforeach rowbegin

select keyname into @key_name from tkey limit 1;set new.name = hex(AES_ENCRYPT(new.name, @key_name));end;;

DELIMITER ;

創(chuàng)建一個(gè)解密的函數(shù),主要是為了在查詢時(shí),更加友好

--解密 函數(shù)

drop function if existsdecrypt;

DELIMITER ;;create function decrypt(col varchar(100))returns varchar(100) DETERMINISTICBEGIN

select keyname into @key_name from tkey limit 1;return AES_DECRYPT(unhex(col), @key_name);END;;

DELIMITER ;

這樣就基本配置好了mysql 的透明加密和 解密動(dòng)作了,我們來(lái)驗(yàn)證一下

--驗(yàn)證sql,可以通過普通查詢和解密查詢,看看數(shù)據(jù)是否真的被自動(dòng)加密了

truncate tabletest;insert into test values (1,'sdb');insert into test values (2, 'sequoiadb');--普通查詢,得到的結(jié)果是一堆亂碼

select * fromtest;--解密查詢,返回預(yù)期結(jié)果

select id, decrypt(name) fromtest;update test set name = 'jushan' where id = 1;--解密查詢

select id, decrypt(name) from test where id = 1;

我自己測(cè)試的結(jié)果截圖:

*** 分割線 ***

上面的例子是結(jié)合了觸發(fā)器和函數(shù),對(duì)于復(fù)雜的業(yè)務(wù)系統(tǒng),可能會(huì)在運(yùn)維時(shí)造成影響,所以這里再提供一個(gè)只使用函數(shù)的方式,實(shí)現(xiàn)數(shù)據(jù)的加密和解密

創(chuàng)建 密鑰表

create table tkey (keyname varchar(100));insert into tkey values ('sequoiadb');

創(chuàng)建 測(cè)試表

create table test (id int, name varchar(100));

創(chuàng)建加密函數(shù)(encrypt名稱和已有函數(shù)沖突,所以用了 encrypt_new)

DELIMITER ;;create function encrypt_new(col varchar(100))returns varchar(100) DETERMINISTICbegin

select keyname into @key_name from tkey limit 1;return hex(AES_ENCRYPT(col, @key_name));end;;

DELIMITER ;

創(chuàng)建解密函數(shù)

DELIMITER ;;create function decrypt_new(col varchar(100))returns varchar(100) DETERMINISTICBEGIN

select keyname into @key_name from tkey limit 1;return AES_DECRYPT(unhex(col), @key_name);END;;

DELIMITER ;

測(cè)試

truncate tabletest;insert into test values (1, encrypt_new('abc'));select * fromtest;select id, decrypt_new(name) from test;

今天就介紹這些吧。

總結(jié)

以上是生活随笔為你收集整理的mysql实现内容加密_简单为mysql 实现透明加密方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产乱码精品一区二区三 | 成人a站| 狠狠狠狠狠干 | 亚洲制服丝袜av | 91偷拍网站 | 欧美十大老熟艳星 | 人人干人| 国产精品一二区在线观看 | h片在线观看视频 | 亚洲av成人无码久久精品 | 深田咏美av在线 | 免费在线黄 | 一本色道无码道dvd在线观看 | 天使色吧 | 四虎网址大全 | 狠狠干免费视频 | 在线观看欧美国产 | 夜夜春很很躁夜夜躁 | 爱福利视频一区二区 | 少妇无码一区二区三区免费 | 欧美与黑人午夜性猛交久久久 | 日韩成人免费视频 | 精品国产999久久久免费 | 青草视频免费观看 | 另类第一页 | 亚洲免费黄色网 | 精品成人av一区二区三区 | 国产又粗又猛又爽又黄的视频小说 | 国产少妇一区二区 | 色肉色伦交av色肉色伦 | 中文字幕第一页av | 国产日韩精品视频 | 免费污网站在线观看 | 美国少妇在线观看免费 | 男女av | 青青射 | 婷婷影视 | 亚洲视频在线观看免费视频 | 窝窝午夜视频 | 亚洲精品国产精品乱码不99按摩 | 高hhhhh| 日本电影一区二区三区 | 亚洲自拍p| 亚洲第一黄网 | 97超碰人人模人人人爽人人爱 | 日韩欧美午夜 | 亚洲天堂中文在线 | 色偷偷网站 | 国产人妻人伦精品1国产盗摄 | av一区免费 | 亚洲欧美日韩在线播放 | 国产人妻人伦精品1国产 | 欧美成人免费在线视频 | 蜜桃91丨九色丨蝌蚪91桃色 | 少妇29p| 干干操操| 麻豆综合网| 一区一区三区产品乱码 | 中文字幕无线精品亚洲乱码一区 | 欧美日韩一二三区 | 91在线 | 华人av在线 | 欧美a级片在线观看 | 狠狠操一区 | 国产精品视频无码 | 香蕉久久网 | 精品国产一区二区视频 | 五月婷婷视频在线观看 | 黄色高潮视频 | av小说在线观看 | 天堂8在线天堂资源bt | 麻豆视频国产精品 | 欧美伦乱| 上海毛片| eeuss国产一区二区三区黑人 | 最近免费中文字幕中文高清百度 | 激情小视频在线观看 | 蜜臀av在线免费观看 | 欧美一二三级 | 精品一区二区三区入口 | 日韩精品一区二区亚洲av性色 | 美女久久久 | 欧美性爱精品在线 | 欧美大片xxxx | 欧美αv| 国产国产精品 | 欧美高清性 | 久久一级片 | 成人永久视频 | 美腿丝袜av | 午夜视频 | 涩视频在线观看 | 69xxx少妇按摩视频 | 天天躁日日躁狠狠躁av麻豆 | 特级西西人体444www高清 | 国产偷自拍视频 | 国产伦精品一区二区三区 | 午夜精品福利一区二区三区蜜桃 | 日本亚洲天堂 |