sm2 前端加密 后端java解密,使用hutool怎么做
时间: 2024-01-24 10:02:18 浏览: 119
可以使用 hutool-crypto 库中的 SM2 工具类来实现前端加密后端解密的功能。
前端加密:
```javascript
// 导入 jsencrypt 库
import JSEncrypt from 'jsencrypt'
// 初始化 JSEncrypt 对象
const encryptor = new JSEncrypt()
// 设置公钥
const publicKey = '...'
// 加载公钥
encryptor.setPublicKey(publicKey)
// 要加密的数据
const data = 'hello'
// 加密数据
const encrypted = encryptor.encrypt(data)
// 发送加密后的数据到后端
```
后端解密:
```java
// 导入 hutool-crypto 库中的 SM2 工具类
import cn.hutool.crypto.asymmetric.Sm2;
// SM2 密钥对
String privateKey = "..."; // 私钥
String publicKey = "..."; // 公钥
// 创建 SM2 对象
Sm2 sm2 = Sm2.builder()
.privateKey(privateKey)
.publicKey(publicKey)
.build();
// 加密后的数据
String encryptedData = "...";
// 解密数据
String decryptedData = sm2.decryptStr(encryptedData, CharsetUtil.CHARSET_UTF_8);
// 输出解密后的数据
System.out.println(decryptedData);
```
注意:前端加密时,需要使用与后端对应的公钥进行加密。后端解密时,需要使用与前端对应的私钥进行解密。
阅读全文