我们在配置文件中往往都会配置数据库的密码等敏感信息,而这些信息可能只作为项目启动用,并不想直观的透漏给开发人员,于是,配置加密便起了作用。我们目前项目中是spring cloud
框架,下面记录下我的配置方法:
Spring Cloud有一个用于本地解密属性值的环境预处理器。
它遵循与配置服务器相同的规则,并且通过encrypt.*
使加密具有相同的外部配置。
因此,您可以使用{cipher}*
形式的加密值,并且,只要有一个有效的密钥,它们就会在主应用程序上下文获得环境设置之前解密。
要在应用程序中使用加密特性,您需要在类路径中包含Spring Security RSA (Maven协调:“org.springframework.security: Spring - Security - RSA”),并且还需要JVM中完整的JCE扩展。
如果由于“非法密钥大小”而出现异常,并且使用Sun的JDK,则需要安装Java Cryptography Extension (JCE) Unlimited Strength governance Policy Files。详情请参阅以下方式:
- 下载JCE,如jdk1.8
https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
- 将文件解压缩到JDK/jre/lib/security文件夹中,以支持您使用的jre/ JDK x64/x86的任何版本。
步骤
-
下载JCE,下载完成后,可以看到
,我们需要将这里的两个jar包拷贝到我们的jdk安装目录下,我的是