1. 程式人生 > >MySQL資料庫加密與解密

MySQL資料庫加密與解密

資料加密、解密在安全領域非常重要。對程式設計師而言,在資料庫中以密文方式儲存使用者密碼對入侵者剽竊使用者隱私意義重大。

有多種前端加密演算法可用於資料加密、解密,下面我向您推薦一種簡單的資料庫級別的資料加密、解密解決方案。MySQL資料庫為例,它內建了相應的加密函式(AES_ENCRYPT() )和解密函式(AES_DECRYPT())。

在建表的時候,要注意欄位的型別.如下圖所示:


在表中插入加密資料


上面的插入語句有三個欄位,“使用者名稱”、“密碼”和“加密的密碼”。AES_ENCRYPT()函式需要一個“key”來協助加密,同樣,解密也需要它(請牢記!)。

下面是表中的資料截圖:


上面的插入語句有三個欄位,“使用者名稱”、“密碼”和“加密的密碼”。AES_ENCRYPT()函式需要一個“key”來協助加密,同樣,解密也需要它(請牢記!)。

下面是表中的資料截圖:


從表中查詢加密資料


上面的查詢語句使用了AES_DECRYPT()函式。下面是執行結果:

在上面的截圖中,我們可以看到“pasword”和“decryptedpassword”欄位的值是相同的,也就是說,你解密了使用者密碼.