項目安全 數據安全

一、敏感數據加密

Mysql的AES_ENCRYPT和DES_ENCRYPT函數
1、數據加密;
    直接使用Mysql提供的AES_ENCRYPT(str,key)和AES_DECRYPT(str,key);來完成文本類型敏感信息的加密;
    採用的是對稱加密算法,我們需要注意保存key;
基本原理:
    在保存數據的時候,使用AES_ENCRYPT函數對要加密的數據進行加密保存;
    在讀取數據的時候,使用AES_DECRYPT函數對密文進行解密讀取;
    注意:使用AES_ENCRYPT函數加密之後的內容需要使用BLOB進行保存;
在這裏插入圖片描述
mapper中傳入密鑰字段:
在這裏插入圖片描述
業務邏輯中加入key:
在這裏插入圖片描述
保存數據的時候,加密:
在這裏插入圖片描述
查詢解密:
在這裏插入圖片描述
如果出現亂碼,使用mysql中的函數:
在這裏插入圖片描述

二、數據庫防篡改

1.對要防止篡改的列,在保存或者修改(正常程序通過應用進行保存和修改)通過一個算法得到受保護的列的一個對應密文;把這個密文保存到對應的列中;
2.在讀取數據的時候,得到防止篡改的列的值,在應用中,再次對這些數據通過算法得到密文2;
3.如果計算出的密文2!=保存的密文;就說明數據被篡改;阻止後面所有的業務正常執行;
數據庫者增加一列作爲校驗碼,通過算法生成:
在這裏插入圖片描述
在這裏插入圖片描述
進行增改查的時候,存入校驗碼和進行校驗,判斷數據是否進行了篡改:
在這裏插入圖片描述
如果數據庫進行了篡改,數據拋出異常頁面:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章