mysql欄位加密

2021-09-30 14:00:26 字數 2383 閱讀 4679

password()

:建立乙個經過加密的密碼字串,適合於插入到mysql的安全系統。該加密過程不可逆,和

unix

密碼加密過程使用不同的

演算法。主要用於mysql的認證系統。

encrypt(

,)  aes_decrypt( , )

:使用unix crypt()系統加密字串,encrypt()函式接收要加密的字串和(可選的)用於加密過程的salt(乙個可以唯一確定口令的字串,就像鑰匙一樣)。加密程度比

encode

較強。注意,windows上不支援。

encode(,)   decode(,)

:加密解密字串。該函式有兩個引數:被加密或解密的字串和作為加密或解密基礎的金鑰。encode

結果是乙個二進位制字串,以

blob

型別儲存。加密成度相對比較弱。

md5()

:計算字串的md5校驗和(128位),sha5():計算字串的sha5校驗和(160位),這兩個函式返回的校驗和是16進製制的,適合與認證系統中使用的口令。

1、建測試表

1.create

table`tab_col_encrypt` (  

2.   `id`int(11)defaultnull,  

3.   `user_name`varchar(10)defaultnull,  

4.   `passwd_aes_encrypt` blob,  

5.   `passwd_encode` blob  

6. ) engine=innodbdefaultcharset=utf8;  

2、插入測試資料

md5加密字段

字段」) from user(「表名」) 把明碼的密碼進行md5加密顯示

3、檢視加密資料

1.selectid,user_name,aes_decrypt(passwd_aes_encrypt,'kitty') passwd_aes_encrypt,passwd_aes_encrypt passwd_aes_encrypt_blob,decode(passwd_encode,'kitty') passwd_encode,passwd_encode passwd_encode_blobfromtab_col_encrypt;  

2.selectid,user_name,aes_decrypt(passwd_aes_encrypt,'kitty1') passwd_aes_encrypt,decode(passwd_encode,'kitty1') passwd_encodefromtab_col_encrypt;  

4、其他

1. showfullcolumnsfromtab_col_encrypt;    

2.selectold_password('111111');  

3.select

password('111111');  

selectmd5(

'pa55word');  

mysql資料字段加密

password 建立乙個經過加密的密碼字串,適合於插入到mysql的安全系統。該加密過程不可逆,和unix密碼加密過程使用不同的演算法。主要用於mysql的認證系統。encrypt aes decrypt 使用unix crypt 系統加密字串,encrypt 函式接收要加密的字串和 可選的 用於...

mysql資料庫字段加密

linux version centos7.3 mysql vrsion mysql5.6.34 最近兩天,接到業務上乙個需求,需要對錶中的部分字段 比如手機號,email 進行加密,在檢視mysql的相關資料後,發現需要對資料庫中的部分字段加密,基本就只能從業務層面的角度來實現。大概提供了如下幾個...

MySQL資料庫字段加密

一 匯入表結構 use qskj 03 table structure for table test drop table if exists test create table test id int 10 not null auto increment comment 主鍵 username v...