MySQL加密解密

2021-09-07 15:15:53 字數 1928 閱讀 4633

1.加密:mysql323,不可逆

select old_password('

bbs.antian365.com');

# 10c886615b135b38

2. 加密:mysqlsha1,不可逆

select password('

bbs.antian365.com');

# *a2ebae36132928537ada8e6d1f7c5c5886713cc2

3. 加密:md5,不可逆

select md5('

bbs.antian365.com');

# 3e8ec6f4db678dc7bf9ef71cd6c8b266

4. 加密解密:encode()和decode()都有兩個引數,第乙個是實際需要儲存的值,第二個是鹽。

# 建一張測試表

create

table

users(

username

varchar(128

), # 使用者暱稱

password blob#密碼

) engine

=innodb default charset=

utf8;

#插入一條測試語句

insert

into users (username, password) values ('

john

', encode('

guessme

', '

salt

'));

commit

;

#查詢john的密碼(用的mysql workbench)

select t.username, decode(t.password,'

salt

') as password from users t where t.username =

'john';

# 在查詢結構的password值上,右鍵,

'open value in viewer'。可以看到text tab下的密碼明文。

檢視密碼明文:

5. 加密解密:aes_encrypt()和aes_decrypt()

都有兩個引數,第乙個是實際需要儲存的值,第二個是鹽。

比encode()和decode()安全性要高。有說,在windows下不可用,我在windows下測試,可以正常執行。

#

測試表,同樣使用users

#插入一條語句

insert

into users (username, password) values ('

steven

', aes_encrypt('

password

', '

salt

'));

commit

;

#查詢steven的密碼(用的mysql workbench)

select t.username, aes_decrypt(t.password,'

salt

') as password from users t where t.username =

'steven

';

檢視密碼明文:

Mysql加密解密

mysql提供了4個函式用於雜湊加密 password,encrypt,sha1和md5。password sha1,md5加密都是不可逆的,一般我們使用sha1或者md5對資料庫敏感資訊進行簡單的加密處理,因為都是不可逆的,所以一般應用都是先加密然後去資料庫匹配。但是,當我們有特殊需求,在資料庫端...

mysql加密解密

1.不可逆加密 select md5 pa55word 2.可逆加密 aes encrypt str,key str aes decrypt crypt str,key str 加密解密字串。函式有兩個引數 被加密或解密的字串和作為加密或解密基礎的金鑰。encode結果是乙個二進位制字串,以blob...

MySQL加密和解密

mysql資料庫加密與解密 資料加密 解密在安全領域非常重要。對程式設計師而言,在資料庫中以密文方式儲存使用者密碼對入侵者剽竊使用者隱私意義重大。有多種前端加密演算法可用於資料加密 解密,下面我向您推薦一種簡單的資料庫級別的資料加密 解密解決方案。以mysql資料庫為例,它內建了相應的加密函式 ae...