vue中使用RSA非对称加密解密(512位)

1.安装:


npm install --save jsencrypt

2.封装方法

安装完成后封装成方法(你得有一对公钥和私钥,有在线生成器,我们先来一对 http://web.chacuo.net/netrsakeypair


import JsEncrypt from 'jsencrypt'

let publicKey = '' //公钥

let privateKey = '' //私钥

// 加密方法

let RSAencrypt = (pas) => {

  // 实例化jsEncrypt对象

  let jse = new JSEncrypt()

  // 设置公钥

  jse.setPublicKey(publicKey)

  // console.log('加密:'+jse.encrypt(pas))

  return jse.encrypt(pas)

}

//解密方法

let RSAdencrypt = (pas) => {

    //实例化jsEncrypt对象

    let jse = new JSEncrypt();

    //设置私钥

    jse.setPrivateKey(privateKey);

    // console.log('解密:'+jse.decrypt(pas))

    return jse.decrypt(pas);

}

export default {RSAencrypt ,RSAdencrypt };

在main.js中引入


import {RSAencrypt ,RSAdencrypt }from '@/components/utils/jsencrypt'

Vue.prototype.jsEncrypt = RSAencrypt

Vue.prototype.jsDencrypt = RSAdencrypt

3.使用


//加密

let str = '123|123'

let enc = this.jsEncrypt(str)

console.log(enc) 

//解密

let denc = this.jsDencrypt(enc)

console.log(denc);

4.额外使用

如果加密之后要通过地址栏传递参数的话还需要进一步处理,因为加密之后会出现‘/’ 和 ‘+’,想要对这些字符进行转义的话,使用encodeURIComponent('加密后的内容')就可以了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容