JWE全称是Json Web Encripytion ,即json web 加密,其本身是由一系列标准构成的,本文章讲解的是采用软加密的方式:
JWE加密分为RSA公钥和EC公钥两种模式,RSA公钥采用的是传统大质数相乘原理,ECC公钥为椭圆曲线算法原理;相对来说ECC模式要比RSA模式快;当RSA加密需要的秘钥长度越来越长时,相应的运算也越来越耗时,这几乎呈指数级增长;ECC模式要比RSA模式好很多,当所需的秘钥长度越来越长时,ECC的cpu消耗是线性增长的。
本文章讲解的是RSA的方式进行jwe的加密。
使用JWE加密时需要引入的maven依赖包:
<dependency>
<groupId>com.nimbusds</groupId>
<artifactId>nimbus-jose-jwt</artifactId>
<version>8.20</version>
</dependency>
需要使用nimbusds提供的JWE加密组件,废话不多说,直接上代码:
private static String jweEncryption(Key publicKey, String payload)
throws Exception {
System.out.println("Payload before encrypti