vue中使用jsencrypt实现前端RSA加解密(freshman)

一丶生成密钥

因为这里直接在前端加解密,所以需要一对现成的密钥,我们通过工具 - 支付宝文档中心 (alipay.com)得到vue中使用jsencrypt实现前端RSA加解密(freshman)_第1张图片

 vue中使用jsencrypt实现前端RSA加解密(freshman)_第2张图片

二丶代码依赖

 密钥有了,该上代码了 安装jsencrypt

npm install jsencrypt

 然后在需要使用的文件中引入JSEncrypt,封装成工具类

vue中使用jsencrypt实现前端RSA加解密(freshman)_第3张图片

// @ts-ignore
import {JSEncrypt} from 'jsencrypt'

/**
 * RSA非对称加密
 * @param data 需要加密的数据
 */
export function rsaEncrypt(data: any) {
    // 公钥,,复制前面生成的公钥
    const PUBLIC_KEY = `刚刚支付宝申请的公钥`
    // 使用公钥加密
    const encrypt = new JSEncrypt()
    encrypt.setPublicKey(PUBLIC_KEY)
    let result = encrypt.encrypt(data)
    return result
}

/**
 * RSA 解密
 * @param data 需要解密的数据
 */
export function rsaDecrypt(data: any) {
    //私钥,复制对应的私钥用于解密
    const PRIVATE_KEY = `刚刚支付宝申请的私钥`   //使用私钥解密
    const decrypt = new JSEncrypt()
    decrypt.setPrivateKey(PRIVATE_KEY)
    let result = decrypt.decrypt(data)
    return result
}

 到这里我们的加密解密方法就完成了,在需要的地方直接拿过来用就好了!

import {rsaEncrypt, rsaDecrypt} from '../../utils/RSA.ts'

rsaEncrypt('加密内容') rsaDecrypt('解密内容')

vue中使用jsencrypt实现前端RSA加解密(freshman)_第4张图片

 

 

 

你可能感兴趣的:(前端,vue.js,javascript)