angular 使用sm2插件加密解密字符

import { Injectable } from "@angular/core";
import * as smCrypto from "sm-crypto";

@Injectable({
  providedIn: "root",
})
export class EncryptDecryptInfoService {
  sm2 = smCrypto.sm2;//国产sm2加密解密算法
  keypair = this.sm2.generateKeyPairHex("rain3");

  public encrypt(message: string): string {
    const cipherMode = 1; // 1 表示加密模式
    const encryptData = this.sm2.doEncrypt(
      message,
      this.keypair.publicKey,
      cipherMode
    );
    return encryptData;
  }

  public decrypt(encryptedMessage: string): string {
    const cipherMode = 1; // 1 表示解密模式
    const decryptData = this.sm2.doDecrypt(
      encryptedMessage,
      this.keypair.privateKey,
      cipherMode
    );
    return decryptData;
  }
  constructor() {}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值