mysql數(shù)據(jù)庫(kù)的加密與解密方式
前言
考慮到數(shù)據(jù)庫(kù)層面的安全與加密,以及加密后不影響數(shù)據(jù)庫(kù)的分析與使用。本文將介紹mysql下加密方式的實(shí)現(xiàn)
方式一
將字段屬性設(shè)置為varbinary/binary/四個(gè)blob類型,等二進(jìn)制字段屬性。
create table user2 ( id int null, username varbinary(200) null, id_card varbinary(200) null );
將username,id_card進(jìn)行AES加密,密鑰為key,存入表中
INSERT INTO user2 VALUES (1, AES_ENCRYPT('張三', 'key'), AES_ENCRYPT('360153411530193713', 'key'));
加密效果
查詢的時(shí)候解密
select id, aes_decrypt(username,'key') as username,aes_decrypt(id_card,'key')as id_card from user2;
解密效果
方式二
將密文十六進(jìn)制化,再存入varchar/char列。
此處需要用到HEX()來(lái)存入,用UNHEX()取出。
create table user ( id int null, username varchar(50) null, id_card varchar(256) collate latin1_german1_ci null, password varchar(60) null );
將username,id_card進(jìn)行加密存入,密匙123zxq
insert into user(id, username, id_card, password) values (2, hex(aes_encrypt('李四', '123zxq')), hex(aes_encrypt('12057108241111', '123zxq')), 123456);
加密效果
解密
select id,AES_DECRYPT(UNHEX(username),'123zxq'),AES_DECRYPT(UNHEX(id_card),'123zxq') as id_card from user;
解密效果
總結(jié)
采用的AES的加密方式與java是一致的。
不過(guò)加密必然導(dǎo)致?tīng)奚樵兊男阅?,用了加密函?shù)后,查詢?cè)撟侄?,必定不走索引?/p>
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- MySQL中進(jìn)行數(shù)據(jù)的加密和解密存儲(chǔ)的操作方法
- MySQL中的數(shù)據(jù)加密解密安全技術(shù)教程
- 基于Mybatis-Plus攔截器實(shí)現(xiàn)MySQL數(shù)據(jù)加解密的示例代碼
- Java通過(guò)MySQL的加解密函數(shù)實(shí)現(xiàn)敏感字段存儲(chǔ)
- MySQL的加密解密的幾種方式(小結(jié))
- MySQL數(shù)據(jù)庫(kù)對(duì)敏感數(shù)據(jù)加密及解密的實(shí)現(xiàn)方式
- MySQL加密和解密實(shí)例詳解
- MySQL 在線解密的實(shí)現(xiàn)
相關(guān)文章
在MySQL中奏響數(shù)據(jù)庫(kù)操作的樂(lè)章(推薦)
本文詳細(xì)介紹了如何在MySQL中進(jìn)行數(shù)據(jù)庫(kù)操作,包括創(chuàng)建、刪除、修改數(shù)據(jù)庫(kù)等,以及如何使用字符集和校驗(yàn)規(guī)則,以及備份和恢復(fù)數(shù)據(jù)庫(kù)的方法,同時(shí),還討論了如何查看和修改數(shù)據(jù)庫(kù)的結(jié)構(gòu)和數(shù)據(jù),總的來(lái)說(shuō),本文為讀者提供了一份全面的MySQL數(shù)據(jù)庫(kù)操作指南2024-10-10MySQL8.0移除傳統(tǒng)的.frm文件原因及解讀
MySQL 8.0移除傳統(tǒng)的.frm文件,采用基于InnoDB的事務(wù)型數(shù)據(jù)字典,主要解決了元數(shù)據(jù)不一致、性能優(yōu)化、架構(gòu)簡(jiǎn)化、增強(qiáng)功能支持、兼容性與升級(jí)問(wèn)題,這一變革提高了數(shù)據(jù)庫(kù)的可靠性和性能,為未來(lái)的高級(jí)功能奠定了基礎(chǔ)2025-03-03Mysql調(diào)優(yōu)Explain工具詳解及實(shí)戰(zhàn)演練(推薦)
這篇文章主要介紹了Mysql調(diào)優(yōu)Explain工具詳解及實(shí)戰(zhàn)演練,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03mysql制作外鍵出現(xiàn)duplicate?key?name錯(cuò)誤問(wèn)題及解決
這篇文章主要介紹了mysql制作外鍵出現(xiàn)duplicate?key?name錯(cuò)誤問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02MySQL 根據(jù)條件多值更新的實(shí)現(xiàn)
本文主要介紹了MySQL 根據(jù)條件多值更新的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03MySQL 5.7升級(jí)8.0報(bào)異常:ONLY_FULL_GROUP_BY的問(wèn)題解決
本文主要介紹了MySQL 5.7升級(jí)8.0報(bào)異常的問(wèn)題解決,主要是ONLY_FULL_GROUP_BY,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11Mysql數(shù)據(jù)庫(kù)雙機(jī)熱備難點(diǎn)分析
本文主要給大家介紹了在Mysql數(shù)據(jù)庫(kù)雙機(jī)熱備其中的難點(diǎn)分析以及重要環(huán)節(jié)的經(jīng)驗(yàn)心得,需要的朋友收藏分享下吧。2017-12-12