標籤:mysql插入資料加密
首先我們來認識一下blob類型的資料
BLOB類型的欄位用於儲存位元據 MySQL中,BLOB是個類型系列,包括:TinyBlob、Blob、MediumBlob、LongBlob,這幾個類型之間的唯一區別是在隱藏檔的最大大小上不同。 MySQL的四種BLOB類型 類型 大小(單位:位元組) TinyBlob 最大 255 Blob 最大 65K Medium。
建立測試加密表資料
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/06/26/wKiom1myUtzQgoWRAAAnnw-1WUE380.png" title="QQ20170908161421.png" alt="wKiom1myUtzQgoWRAAAnnw-1WUE380.png" />
2.資料的單項加密測試
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/06/26/wKiom1myUwayg9NeAAARVHsdiLQ428.png-wh_500x0-wm_3-wmp_4-s_859296025.png" title="QQ20170908161441.png" alt="wKiom1myUwayg9NeAAARVHsdiLQ428.png-wh_50" />
你也可以使用這個函數ENCRYPT
SQL
INSERT pwn VALUES("Lucy",ENCRYPT("tttt","abcd"));
使用這個函數查詢出來的結果解釋NULL,
650) this.width=650;" title="" alt="這裡寫圖片描述" src="http://img.blog.csdn.net/20160606205221841" />
我們還可以使用這個函數:
INSERT pwn VALUES("Jack",AES_ENCRYPT("jack","ccdd"));1
650) this.width=650;" title="" alt="這裡寫圖片描述" src="http://img.blog.csdn.net/20160606210738706" />
還可以使用這個函數AES_DECRYPT(crypt_str,key_str)
SQL:INSERT pwn VALUES("Pual",AES_DECRYPT("jack","ccdd"));
3.雙向加密
我們向其中插入一條資料:
INSERT INTO pwn (NAME, VALUE)VALUES ( ‘worker‘, ENCODE(‘pual‘, ‘abcd‘) );1
按普通方式查看記錄:
650) this.width=650;" title="" alt="這裡寫圖片描述" src="http://img.blog.csdn.net/20160606204006349" />
我們要怎麼操作才能看到我們剛才存進去的value值呢?
SELECT name, DECODE(VALUE, ‘abcd‘) as value FROM pwn WHERE name=‘worker‘;1
結果:
650) this.width=650;" title="" alt="這裡寫圖片描述" src="http://img.blog.csdn.net/20160606204341525" />
這就是所謂的雙向加密,既可以對資料進行加密,也可以對資料進行解密
mysql欄位加密