美文网首页
11-rsa加密(vue中使用)

11-rsa加密(vue中使用)

作者: 零涂 | 来源:发表于2023-04-16 16:19 被阅读0次

    原文地址:https://blog.csdn.net/qq_25623257/article/details/109775531

    1.安装依赖包

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

    2.在src/utils/文件夹下创建rsa.js文件

    /* 产引入jsencrypt实现数据RSA加密 */
    import JSEncrypt from 'jsencrypt' // 处理长文本数据时报错 jsencrypt.js Message too long for RSA
    /* 产引入encryptlong实现数据RSA加密 */
    import Encrypt from 'encryptlong' // encryptlong是基于jsencrypt扩展的长文本分段加解密功能。
    // 密钥对生成 http://web.chacuo.net/netrsakeypair
     
    // 公钥key
    let publicKey = ''
    // 私钥key
    let privateKey = ''
    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
      }
    }
    

    3.main.js中引入

    import Rsa from "@/utils/rsa.js"
    Vue.prototype.$Rsa = Rsa // 将Rsa注册为公共方法,方便其他页面调用
    

    4.使用

    this.$Rsa.encrypt(str)//加密    str为需要加密的字段
    this.$Rsa.decrypt(str) // 解密    str为需要解密的字段
    

    相关文章

      网友评论

          本文标题:11-rsa加密(vue中使用)

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