前端通过js实现通过SM2 加密数据js怎么写
时间: 2023-08-10 22:08:05 浏览: 146
首先需要引入 SM2 加密算法的 js 库,可以使用以下代码:
```html
<script src="https://cdn.bootcdn.net/ajax/libs/jsencrypt/3.0.0/jsencrypt.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/sm-crypto/1.1.0/sm-crypto.min.js"></script>
```
然后可以使用以下代码实现 SM2 加密数据:
```javascript
// 生成密钥对
const keypair = sm2.generateKeyPairHex();
// 获取公钥
const publicKey = keypair.publicKey;
// 获取私钥
const privateKey = keypair.privateKey;
// 要加密的数据
const data = 'hello world';
// 使用公钥加密数据
const cipher = sm2.doEncrypt(data, publicKey);
// 使用私钥解密数据
const plain = sm2.doDecrypt(cipher, privateKey);
```
需要注意的是,以上代码使用了 sm-crypto 库中的 `sm2` 对象,该对象提供了 SM2 算法的相关方法。同时,以上代码中使用的是十六进制的密钥对,如果需要使用其他格式的密钥对,可以使用 sm2 的 `generateKeyPair` 方法生成密钥对,并将生成的密钥对转换为所需格式。
阅读全文