MYSQL 字段加密方式研究

在涉及到数据库的安全性开发中,基于表和字段的加密一直是一项重要的功能项,实现字段加密可以防止非授权的数据访问造成的敏感信息泄漏。
在Java体系下,MYSQL数据库加密可以根据加解密的位置而区分不同的加密策略。按照架构从下到上可以分为:
数据库层
中间件层
JDBC层
DAO层
业务逻辑层
在数据库层,MYSQL提供了AES_ENCRYPT和AES_DECRYPT两个函数
在中间件层,有很多商用的或者开源的中间件可以提供
JDBC层,目前比较有代表性的是京东开发并开源 Apache ShdingSphere
DAO层,以MyBatis为例,可以使用拦截器进行替换处理。