jsencrypt前端Rsa密码对加密网站

写在前面

学习用到jsencrypt来对登录密码进行rsa加密处理,记录下来,供自己以后查阅。

1、 什么是RSA加密

RSA加密算法是一种非对称加密算法,RSA加密使用了"一对"密钥.分别是公钥和私钥,这个公钥和私钥其实就是一组数字!其二进制位长度可以是1024位或者2048位.长度越长其加密强度越大,目前为止公之于众的能破解的最大长度为768位密钥,只要高于768位,相对就比较安全.所以目前为止,这种加密算法一直被广泛使用.

2、 RSA加密与解密
  • 使用 公钥加密的数据,利用 私钥进行解密
  • 使用 私钥加密的数据,利用 公钥进行解密
3、获取方式

①、Mac系统内置OpenSSL(开源加密库),所以可以直接在终端上使用命令。
②、Windows系统可以使用git命令行工具
③、网站工具生成

4、RSA使用注意

不要有空格(注意!注意!注意!)
网站生成也会 git生成也好 每行都自动有换行符!
可以复制到text文本编辑或者word清除换行
不然会报错
这里强烈推荐word或wps里面段落重排

实战操作流程

安装库>引入 >创建钥匙对>封装 加密解密函数>使用

推荐使用网站生成(我比较懒 ,但也比较快)
安装工具jsencrypt(详细介绍移步官网)
jsencrypt就是一个基于rsa加解密的js库

安装
npm install jsencrypt
引入 >创建钥匙队>封装 加密解密函数
//①创建文件夹 jsencrypy.js
import JSEncrypt from "jsencrypt";

//②创建钥匙对  公钥与私钥 生成的复制到这里
const publicKey="公钥字符"
const privateKey="私钥字符"

//③封装加密解密函数
//加密 
export function encrypt (text) {
  const encryptVue = new JSEncrypt()
  encryptVue.setPublicKey(publicKey) //设置公钥
  return encryptVue.encrypt(text)  //数据加密
}

//解密
export function decrypt (text) {
  const encryptVue = new JSEncrypt()
  encryptVue.setPrivateKey(privateKey)//设置公钥
  return encryptVue.decrypt(text)//数据解密
}

使用方法
//①login.vue 
//先引入封装的函数
import { encrypt, decrypt } from '@/untils/jsencrypt.js';

// 加密password
const password=admin123

const passwortNew=encrypt(password) //获得加密 password:  
// eW5Mpff6WX3l6Fns5Q9+SCYkeWHO/TnVqix0fZNnT6ci8q5APgOXG8YiGXKBm...

const password=decrypt(passwortNew) //获得解密 password: admin123

就这么简单!学完收工

参考文档:
jsencrypt.js进行RSA加密

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