Spring Cloud 加密encrypt和解密decrypt

JCE Java加密扩展

密码系统的两种基本类型

  • 对称密钥,又称私钥加密,只加密解密使用相同密钥的加密算法
  • 非对称密钥,在这种密码学方法中,需要一对密钥,一个是私人密钥,另一个则是公开密钥。这两个密钥是数学相关,用某用户密钥加密后所得的信息,只能用该用户的解密密钥才能解密。如果知道了其中一个,并不能计算出另外一个。因此如果公开了一对密钥中的一个,并不会危害到另外一个的秘密性质。称公开的密钥为公钥;不公开的密钥为私钥。

1.1安装Java8 JCE

下载地址

Spring Cloud 加密encrypt和解密decrypt_第1张图片Spring Cloud 加密encrypt和解密decrypt_第2张图片

  • 将JCE 的两个加密文件放到本地$JAVA_HOME/jre/bin/security 目录下
    Spring Cloud 加密encrypt和解密decrypt_第3张图片

1.2项目配置

bootstrap.yml (配置key 必须放在bootstrap.yml里面)

1.2.1 对称加密
encrypt:
  key: novaABC!@#soft

Spring Cloud 加密encrypt和解密decrypt_第4张图片使用idea Terminal 命令窗口执行解密和解密命令 POST请求

curl -X POST http://localhost:9090/encrypt -d  要加密的字符串
curl -X POST http://localhost:9090/decrypt -d  要解密的字符串

Spring Cloud 加密encrypt和解密decrypt_第5张图片或者使用postman

Spring Cloud 加密encrypt和解密decrypt_第6张图片git 上配置文件更改,密文前+{cipher}表示
Spring Cloud 加密encrypt和解密decrypt_第7张图片
当服务节点config 密钥key更改后,会显示解析异常,因为密钥变了。
Spring Cloud 加密encrypt和解密decrypt_第8张图片

1.2.2 非对称加密

利用java keytool工具 生成非RSA 对称加密密钥
请查看此片文章

你可能感兴趣的:(SpringCloud)