jsencrypt与base64加密解密的实用流程

34 篇文章 0 订阅
32 篇文章 1 订阅

jsencrypt的实用流程

第一步,下载

npm install jsencrypt --dev 

第二步,建立jsencrypt.js文件(一般放在utils文件夹里边),内容如下


通过公钥加密,私钥解密,哪个页面需要引入utils/jsencrypt文件即可

import JSEncrypt from 'jsencrypt/bin/jsencrypt.min'

// 密钥对生成 http://web.chacuo.net/netrsakeypair; 把下面生成的公钥、私钥换成自己生成的即可
const publicKey = '',//生成的公钥
const privateKey='',

// 加密
export function encrypt(txt) {
  const encryptor = new JSEncrypt()
  encryptor.setPublicKey(publicKey) // 设置公钥
  return encryptor.encrypt(txt) // 对数据进行加密
}

// 解密
export function decrypt(txt) {
  const encryptor = new JSEncrypt()
  encryptor.setPrivateKey(privateKey) // 设置私钥
  return encryptor.decrypt(txt) // 对数据进行解密
}

第三步,页面使用

import { encrypt, decrypt } from '@/utils/jsencrypt'//rememberMe-password加密

Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 });//存到cookies时加密

this.loginForm.password : decrypt(password),//取出时解密

base64的实用流程

Base64是网络上最常见的用于传输8Bit字节码的编码方式之一

前端项目可用于用户输入密码时加密使用,防止在数据传输到数据库时密码泄露

 第一步,下载

npm install --save js-base64

第二步,在项目文件中引入

let Base64 = require('js-base64').Base64;

第三步,加密与解密

encode为加密,decode为解密

Base64.encode('admin') //YWRtaW4=
Base64.decode('YWRtaW4=') //admin

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在后台使用JSEncrypt解密数据,您需要使用JSEncrypt库和Node.js。以下是一些步骤: 1. 安装Node.js和JSEncrypt 您可以从官方网站https://nodejs.org/en/下载和安装Node.js,然后使用npm(Node包管理器)安装JSEncrypt库。 ``` npm install node-jsencrypt ``` 2. 在您的后台代码中引入JSEncrypt库 在您的后台代码中,您需要使用require()方法来引入JSEncrypt库。 ``` const NodeRSA = require('node-rsa'); ``` 3. 创建一个新的JSEncrypt对象 使用以下代码创建一个新的JSEncrypt对象: ``` const key = new NodeRSA(); ``` 4. 设置公钥 使用以下代码将公钥传递给JSEncrypt对象: ``` key.importKey(publicKey, 'pkcs8-public'); ``` 请注意,publicKey是您的公钥字符串,它应该是PKCS#8格式的。 5. 解密数据 使用以下代码解密数据: ``` const decryptedData = key.decrypt(encryptedData, 'utf8'); ``` 请注意,encryptedData是加密后的数据字符串,它应该是Base64编码的。 6. 完整示例代码 以下是一个完整的示例代码: ``` const NodeRSA = require('node-rsa'); const publicKey = '-----BEGIN PUBLIC KEY-----\n' + 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwRJ1QrRzGK2O7QJxkYc6\n' + 'ibFvUy2r4wvZi+qKU1Rg1d2YJyWbJ6y5Hl8Gq2XUaJ6uLrFZ7YluLHh9AdnK2M8e\n' + 'W9iUZkFN3p/c5lDp+8mKv/1lNcBf5rYqI0eVwnKb1vO9Zzqu2gBS6jESQJW+TPrD\n' + 'SkM0rZcBvzGPY4zRz2a7BZPzvzUx8g5F5Q2Xj8QIw/f6K0jXGzJsC3Cv8u8ZKpZV\n' + 'sWZr6j/2sF5lZt3w5YB2l8r0I0VjZP3vQNQzjJZ0+eZjp5sX9y/Bzj0GfZlXWvhl\n' + '4qHd6u1Fv5K+L7jZf6cL+XXjz1pUJZn12l+eT35E0zPzKpJm3LdH1yTq3nZyXGJk\n' + 'UwIDAQAB\n' + '-----END PUBLIC KEY-----'; const key = new NodeRSA(); key.importKey(publicKey, 'pkcs8-public'); const encryptedData = 'Rmlyc3QgRGF0YQ=='; // Base64-encoded string const decryptedData = key.decrypt(encryptedData, 'utf8'); console.log(decryptedData); ``` 请注意,此示例是使用Node.js中的NodeRSA库。如果您使用的是JSEncrypt库,则引入库的方式和一些细节可能会有所不同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值