美文网首页
vue中使用RSA进行数据加密解密

vue中使用RSA进行数据加密解密

作者: 随遇而安丶 | 来源:发表于2021-07-16 19:35 被阅读0次

一、引入rsa

npm install jsencrypt --save-dev
npm install encryptlong -S

二、在utils创建rsa.js文件

image.png

1.在rsa.js中引入

/* 产引入jsencrypt实现数据RSA加密 */
import JSEncrypt from 'jsencrypt' // 处理长文本数据时报错 jsencrypt.js Message too long for RSA
/* 产引入encryptlong实现数据RSA加密 */
import Encrypt from 'encryptlong' // encryptlong是基于jsencrypt扩展的长文本分段加解密功能。

2.准备publicKey(公钥)&& privateKey(私钥)

// 公钥key
const publicKey = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANL378k3RiZHWx5AfJqdH9xRNBmD9wGD\n' +
  '2iRe41HdTNF8RUhNnHit5NpMNtGL0NPTSSpPjjI1kJfVorRvaQerUgkCAwEAAQ=='
// 私钥key
const privateKey = 'MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEA0vfvyTdGJkdbHkB8\n' +
  'mp0f3FE0GYP3AYPaJF7jUd1M0XxFSE2ceK3k2kw20YvQ09NJKk+OMjWQl9WitG9p\n' +
  'B6tSCQIDAQABAkA2SimBrWC2/wvauBuYqjCFwLvYiRYqZKThUS3MZlebXJiLB+Ue\n' +
  '/gUifAAKIg1avttUZsHBHrop4qfJCwAI0+YRAiEA+W3NK/RaXtnRqmoUUkb59zsZ\n' +
  'UBLpvZgQPfj1MhyHDz0CIQDYhsAhPJ3mgS64NbUZmGWuuNKp5coY2GIj/zYDMJp6\n' +
  'vQIgUueLFXv/eZ1ekgz2Oi67MNCk5jeTF2BurZqNLR3MSmUCIFT3Q6uHMtsB9Eha\n' +
  '4u7hS31tj1UWE+D+ADzp59MGnoftAiBeHT7gDMuqeJHPL4b+kC+gzV4FGTfhR9q3\n' +
  'tTbklZkD2A=='

3.自定义加密解密函数

export default {
  /* JSEncrypt加密 */
  rsaPublicData(data) {
    var jsencrypt = new JSEncrypt()
    jsencrypt.setPublicKey(publicKey)
    // 如果是对象/数组的话,需要先JSON.stringify转换成字符串
    var result = jsencrypt.encrypt(data)
    return result
  },
  /* JSEncrypt解密 */
  rsaPrivateData(data) {
    var jsencrypt = new JSEncrypt()
    jsencrypt.setPrivateKey(privateKey)
    // 如果是对象/数组的话,需要先JSON.stringify转换成字符串
    var result = jsencrypt.encrypt(data)
    return result
  },
  /* 加密 */
  encrypt(data) {
    const PUBLIC_KEY = publicKey
    var encryptor = new Encrypt()
    encryptor.setPublicKey(PUBLIC_KEY)
    // 如果是对象/数组的话,需要先JSON.stringify转换成字符串
    const result = encryptor.encryptLong(data)
    return result
  },
  /* 解密 - PRIVATE_KEY - 验证 */
  decrypt(data) {
    const PRIVATE_KEY = privateKey
    var encryptor = new Encrypt()
    encryptor.setPrivateKey(PRIVATE_KEY)
    // 如果是对象/数组的话,需要先JSON.stringify转换成字符串
    var result = encryptor.decryptLong(data)
    return result
  }
}

三、在main.js引入

import Rsa from "@/utils/rsa.js"
Vue.prototype.$Rsa = Rsa; //挂载到vue实例上

四、使用

password = this.$Rsa.rsaPublicData(password); 

相关文章

  • 怎么在ios中应用“RSA的私钥加密或公钥加密算法”呢?

    RSA基本原理 RSA使用"秘匙对"对数据进行加密解密.在加密解密数据前,需要先生成公钥(public key)和...

  • swift-RSA(三)-大数据块加解密

    如何使用swift进行RSA大数据块加解密呢? 1.使用RSA加密 2.使用RSA解密 3.调用及输出 调用 日志

  • openssl生成RSA格式的公私钥,并转为pkcs8格式

    先简单介绍一下RSA。 加密、解密:使用公钥对数据进行加密,通过私钥对加密后的数据解密。 加签、解签:使用私钥对数...

  • iOS RSA加签 验签 与Java同步 pkcs8 pkcs1

    先简单介绍一下RSA。1.加密、解密:使用公钥对数据进行加密,通过私钥对加密后的数据解密。2.加签、解签:使用私钥...

  • RSA加解密问题

    在做项目中为了安全考虑会对数据进行加密,这里使用了RSA进行加密。总结如下:特点:公钥加密私钥解密;私钥签名公钥认...

  • swift-RSA(一)

    如何使用swift进行RSA加解密呢? 一.这四个方面:加载公钥/加载私钥/RSA加密/RSA解密 1.加载公钥 ...

  • iOS RSA加签和验签(SHA1WithRSA)

    RSA 简介 RSA是一种非对称加密算法,使用公钥加密就可以使用私钥解密,使用私钥加密就可以使用公钥解密。RSA公...

  • swift-RSA(四)-OAEP模式

    swift进行RSA加解密时,如果使用 OAEP时,有什么区别? 1.RSA加密 2.RSA解密 3.注意事项 1...

  • python 利用Crypto进行RSA解密&加密文件

    背景:工作需要,部分数据进行了加密传输,对方使用了RSA对密码进行了加密,需要获取到解密的数据。目标:在已知公钥,...

  • RSA加密

    RSA加密为非对称加密实现 对称加密:加密解密使用同一个算法 非对称加密:加密和解密使用不同算法 rsa加密原理 ...

网友评论

      本文标题:vue中使用RSA进行数据加密解密

      本文链接:https://www.haomeiwen.com/subject/gawbpltx.html