在为服务架构中,由于独立的服务个数众多,前期测试的工作量大,一些原本由运维人员维护的敏感信息会被我直接写在微服务中,提高开发效率,但是这种明文存储方式显然是非常危险的,所以我们要对这些信息进行加密,而Spring Cloud Config提供了对称密码、非对称密码的功能来完成我们的这一需求。
加密方式一般有以下几种方案:
1、Base64,这其实不是一种加密的方法,而是一种编码方案,叫Base64是因为52个大小写字母,加上0到9是个数字,再加上两个标点符号(+ /),一共是64个。
2、不可逆加密:理论上无法解密的(MD5、SHA1-XXX)这种文本加密之后不需要解密,一般来说用于密码加密上,密码不需要解密。
3、可逆加密:就是可以解密的,它分两种,对称加密(加密和解密的密钥是同一个)和非对称加密(加密和解密的密钥不是同一个,加密的密钥称作公钥可以告诉任何人,公钥只能加密不能解密,私钥只能解密不能加密)。
在Spring Cloud中对称加密和非对称加密都是支持的,下面我们来看一下怎么使用。
默认情况下我们的JRE中自带了JCE(Java Cryptography Extension)Java加密扩展包,但是默认是一个有限长度的版本,我们这里需要一个不限长度的JCE,这个JCE我们可以直接百度然后在Oracle官网下载(https://www.oracle.com/technetwork