为了安全,我们会采取对文件的重要信息进行加密。本文将介绍如何使用对称加密算法AES对文件进行加解密,包括:“替换local_policy.jar和US_export_policy.jar文件”、“加密文件内容”、“自定义PropertyPlaceholderConfigurer子类解密文件”。
1、替换local_policy.jar和US_export_policy.jar文件。
替换${java_home}/jre/lib/security下的local_policy.jar和US_export_policy.jar文件。
我们加密使用的密钥长度大于128,而正常Java运行环境限制了密钥长度不能大于128。所以我们需要下载能支持密钥大于128的local_policy.jar和US_export_policy.jar文件,替换掉${java_home}/jre/lib/security下的对应的文件。
2、加密文件内容。
如数据库连接文件,将数据库用户名和密文进行加密。将用户名和密码使用AES加密后,填写到文件:
# 数据库驱动
driverClassName=com.mysql.cj.jdbc.Driver
# 数据库URL
db.mysql.url=jdbc:mysql://localhost:3306/%s?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL
# 数据库用户名
db.mysql.username.encryption=81A3FD464E18C4497A79CE7CC9D5B660
db.nbx.mysql.username.encryption=81A3FD464E18C4