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...