亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mysql數(shù)據(jù)庫的加密與解密方式

 更新時間:2024年01月24日 08:47:48   作者:今天寫bug了嗎?  
這篇文章主要介紹了mysql數(shù)據(jù)庫的加密與解密方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

前言

考慮到數(shù)據(jù)庫層面的安全與加密,以及加密后不影響數(shù)據(jù)庫的分析與使用。本文將介紹mysql下加密方式的實現(xiàn)

方式一

將字段屬性設(shè)置為varbinary/binary/四個blob類型,等二進制字段屬性。

create table user2
(
    id       int            null,
    username varbinary(200) null,
    id_card  varbinary(200) null
);

將username,id_card進行AES加密,密鑰為key,存入表中

INSERT INTO user2 VALUES (1, AES_ENCRYPT('張三', 'key'), AES_ENCRYPT('360153411530193713', 'key'));

加密效果

查詢的時候解密

select id, aes_decrypt(username,'key') as username,aes_decrypt(id_card,'key')as id_card from user2;

解密效果

方式二

將密文十六進制化,再存入varchar/char列。

此處需要用到HEX()來存入,用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進行加密存入,密匙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是一致的。

不過加密必然導(dǎo)致犧牲查詢的性能,用了加密函數(shù)后,查詢該字段,必定不走索引。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在MySQL中奏響數(shù)據(jù)庫操作的樂章(推薦)

    在MySQL中奏響數(shù)據(jù)庫操作的樂章(推薦)

    本文詳細介紹了如何在MySQL中進行數(shù)據(jù)庫操作,包括創(chuàng)建、刪除、修改數(shù)據(jù)庫等,以及如何使用字符集和校驗規(guī)則,以及備份和恢復(fù)數(shù)據(jù)庫的方法,同時,還討論了如何查看和修改數(shù)據(jù)庫的結(jié)構(gòu)和數(shù)據(jù),總的來說,本文為讀者提供了一份全面的MySQL數(shù)據(jù)庫操作指南
    2024-10-10
  • MySQL8.0移除傳統(tǒng)的.frm文件原因及解讀

    MySQL8.0移除傳統(tǒng)的.frm文件原因及解讀

    MySQL 8.0移除傳統(tǒng)的.frm文件,采用基于InnoDB的事務(wù)型數(shù)據(jù)字典,主要解決了元數(shù)據(jù)不一致、性能優(yōu)化、架構(gòu)簡化、增強功能支持、兼容性與升級問題,這一變革提高了數(shù)據(jù)庫的可靠性和性能,為未來的高級功能奠定了基礎(chǔ)
    2025-03-03
  • Mysql調(diào)優(yōu)Explain工具詳解及實戰(zhàn)演練(推薦)

    Mysql調(diào)優(yōu)Explain工具詳解及實戰(zhàn)演練(推薦)

    這篇文章主要介紹了Mysql調(diào)優(yōu)Explain工具詳解及實戰(zhàn)演練,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • MySQL修改root賬號密碼的方法

    MySQL修改root賬號密碼的方法

    這篇文章介紹了兩種情況,知道root密碼的情況下修改root密碼,以及忘記了root密碼,如何對root的密碼進行修改,需要的朋友可以參考下
    2015-07-07
  • SQL查詢至少連續(xù)n天登錄的用戶

    SQL查詢至少連續(xù)n天登錄的用戶

    這篇文章介紹了SQL查詢至少連續(xù)n天登錄用戶的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01
  • mysql制作外鍵出現(xiàn)duplicate?key?name錯誤問題及解決

    mysql制作外鍵出現(xiàn)duplicate?key?name錯誤問題及解決

    這篇文章主要介紹了mysql制作外鍵出現(xiàn)duplicate?key?name錯誤問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • MySQL 根據(jù)條件多值更新的實現(xiàn)

    MySQL 根據(jù)條件多值更新的實現(xiàn)

    本文主要介紹了MySQL 根據(jù)條件多值更新的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • MySQL簡化輸入小技巧

    MySQL簡化輸入小技巧

    在這里我將介紹兩個使用MySQL數(shù)據(jù)庫時候簡化輸入的小技巧。
    2011-09-09
  • MySQL 5.7升級8.0報異常:ONLY_FULL_GROUP_BY的問題解決

    MySQL 5.7升級8.0報異常:ONLY_FULL_GROUP_BY的問題解決

    本文主要介紹了MySQL 5.7升級8.0報異常的問題解決,主要是ONLY_FULL_GROUP_BY,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • Mysql數(shù)據(jù)庫雙機熱備難點分析

    Mysql數(shù)據(jù)庫雙機熱備難點分析

    本文主要給大家介紹了在Mysql數(shù)據(jù)庫雙機熱備其中的難點分析以及重要環(huán)節(jié)的經(jīng)驗心得,需要的朋友收藏分享下吧。
    2017-12-12

最新評論