项目安全 数据安全

一、敏感数据加密

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!=保存的密文;就说明数据被篡改;阻止后面所有的业务正常执行;
数据库者增加一列作为校验码,通过算法生成:
在这里插入图片描述
在这里插入图片描述
进行增改查的时候,存入校验码和进行校验,判断数据是否进行了篡改:
在这里插入图片描述
如果数据库进行了篡改,数据抛出异常页面:
在这里插入图片描述

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