RSA加密/解密

参考文章js中使用RSA加解密解决方案总结

第一步需要先生成一个私钥和一个公钥。公钥用于加密,私钥用于解密。

  • 加密、解密

  • 安装插件

// 安装jsencrypt:
npm install jsencrypt --save
  • 代码段



import JSEncrypt from "jsencrypt";

 // 加密(origin:原始text,key:公钥)
    xxx(origin, key) {
      const encrypt = new JSEncrypt();
      encrypt.setPublicKey(key);
      return encrypt.encrypt(origin);
    },
    // 解密(origin:加密text,key:私钥)
    yyy(cipher, key) {
      const decrypt = new JSEncrypt();
      decrypt.setPrivateKey(key);
      return decrypt.decrypt(cipher);
    },
    zzz() {
      console.log(this.text);
      // 公钥
      let gong = `-----BEGIN PUBLIC KEY-----
        MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCxXwRhs+PtxLj6c2R/kF+T+mTy
        WvFtGYIsuS8SKP67ecHMDKijV8ppHbWMXLQ9KNDOwjHGgfqNfPPb1iEhzD0Mg34y
        dOdXMEvVudSUjNSd9tx/rd3OTu6nGZitLETIHYsQ2t9emdp9TTCYkyjg/hVJUQTp
        tXZe7ljXlci0JlzNHwIDAQAB
        -----END PUBLIC KEY-----`;
      // 私钥
      let si = `-----BEGIN RSA PRIVATE KEY-----
        MIICXAIBAAKBgQCxXwRhs+PtxLj6c2R/kF+T+mTyWvFtGYIsuS8SKP67ecHMDKij
        V8ppHbWMXLQ9KNDOwjHGgfqNfPPb1iEhzD0Mg34ydOdXMEvVudSUjNSd9tx/rd3O
        Tu6nGZitLETIHYsQ2t9emdp9TTCYkyjg/hVJUQTptXZe7ljXlci0JlzNHwIDAQAB
        AoGASraxi85Q1pklKiptTOatvBGfcA8q3z/9e4VN9KJcGvCA18kFSDj0xC6FiOiL
        669DtbRLb0jVF8BooFOkhS4ZEHPdzgPXp2boYehf5bt6HcA02Ntrjisuj6w87WPs
        BPzdai2aCrXEB/lRyQXCFc+ICCA4MZWxfn3RvGL7Du5NEdECQQD/hxpT0qg79kFi
        u7odGVCB0HFF89wzDRKe4fvXOMvm44qCQOwI4lI5dtUkefrjPrQGruMCTB3hhJru
        0iWamRvNAkEAsbLvrqHZa9BoGW5e/tbev79klwTEoCZAHx/f26VIot7ggsFGe4qF
        y4HOC5iz1AwE9Sqqcx0CkpqvQ50WoQTYmwJAPR7X0U0GKLGSmkdFEUjI1QRC0/Ss
        qxlpZs+vKZ/QRf4PV3CoBMf92vjtqrfypwCMlzyl2BrU2uiZFp71l7Ef0QJBAJQy
        2GQ7RTn+gKMdAorkprciJwEwD9BEtlt+2NK1YQO8f19tU5v65iTYaAAR5YAmWggi
        Ai+o9RlRenQYUeQOR5sCQG7ED9om0VKPTWPst2jiCeRymy5EhcIgnxhfB+IOqiSa
        hGp8pA1kC/0HNI+hY+GvFkseMkdwam9HKKHhNg3q3bY=
        -----END RSA PRIVATE KEY-----`;
      //   加密
      let _str = this.xxx("123456989", gong);
      //解密
      console.log(this.yyy(_str, si));
    },

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值