【技术实现步骤摘要】
一种在Java程序中实现数据库数据自动加密解密的方法和系统
本专利技术涉及通信
,具体为一种在Java程序中实现数据库数据自动加密解密的方法和系统。
技术介绍
MyBatis是一个基于java的持久层框架,它支持定制化SQL、存储规程以及高级映射。MyBAtis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBAtis可以使用简单的XML或注解来配置和映射原生信息,将接口和java的POJOs映射成数据库中的记录。现有技术存在的问题在于:目前行内比较主流的实现方式是通过在JAVA程序的业务服务层处理业务规则,和加密解密操作,导致业务和加密动作耦合实现;对于存储到数据库的数据加密规则复杂且单一,不能实现动态加密,如果别人知道加密算法就能破解整个库的加密数据。所以,本申请所要解决的技术问题是:如何提高数据存储安全性、降低数据加密处理的耦合性。
技术实现思路
本专利技术的目的在于提供一种在Java程序中实现数据库数据自动加密解密的方法和系统,本案充分利用MyB ...
【技术保护点】
1.一种在Java程序中实现数据库数据自动加密解密的方法,其特征在于,所述方法具体为:在数据存入数据库之前,在JAVA程序的mybatis框架中根据时间戳按照加密算法对数据进行加密得到加密后的数据,将加密后的数据和时间戳存入数据库中;/n在从数据库中调用数据时,从数据库中调出数据和时间戳,并在JAVA程序的mybatis框架中根据时间戳按照与加密算法对应的解密算法进行解密;/n所述时间戳为mybatis框架通过拦截数据存入数据库中的sql请求的时刻生成。/n
【技术特征摘要】
1.一种在Java程序中实现数据库数据自动加密解密的方法,其特征在于,所述方法具体为:在数据存入数据库之前,在JAVA程序的mybatis框架中根据时间戳按照加密算法对数据进行加密得到加密后的数据,将加密后的数据和时间戳存入数据库中;
在从数据库中调用数据时,从数据库中调出数据和时间戳,并在JAVA程序的mybatis框架中根据时间戳按照与加密算法对应的解密算法进行解密;
所述时间戳为mybatis框架通过拦截数据存入数据库中的sql请求的时刻生成。
2.根据权利要求1所述在Java程序中实现数据库数据自动加密解密的方法,其特征在于,数据加密的具体步骤为:
步骤11:mybatis框架中拦截关于将数据存入数据库中的sql请求,并生成该时刻的时间戳;
步骤12:按照第一预设规则对时间戳进行处理得到叠加数据;
步骤13:将sql请求所对应的数据和叠加数据按照第二预设规则进行处理得到加密后的数据;
步骤14:将加密后的数据、时间戳存入数据库中;
所述加密算法为第一预设规则和第二预设规则的集合。
3.根据权利要求2所述的在Java程序中实现数据库数据自动加密解密的方法,其特征在于,数据解密的具体步骤为:
步骤21:接收用户向JAVA程序发送调用数据库中的数据的sql请求;
步骤22:将数据库中的与sql请求对应的加密后的数据和与该加密后的数据同步存储的时间戳发送至mybatis框架;
步骤23:在mybatis框架中按照第一预设规则对时间戳进行处理得到叠加数据;
步骤24:将加密后的数据和叠加数据按照第三预设规则进行处理得到解密后的数据,并将解密后的数据发送给用户;
所述解密算法为第一预设规则和第三预设规则的集合。
4.根据权利要求2或3所述的在Java程序中实现数据库数据自动加密解密的方法,其特征在于,所述第一预设规则为将时间戳的倒数第三位数字乘以倒数第一位数字,然后加上倒数第二位数字得到叠加数据。
5.根据权利要求2或3所述的在Java程序中实现数据库数据自动加密解密的方法,其特征在于,所述第二预设规则为将叠加数据和数据相加得到加密后的数据...
【专利技术属性】
技术研发人员:凡赞,何奎,曹连峰,陶洋,
申请(专利权)人:广州鲁邦通物联网科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。