项目是老项目,技术栈大致可以理解为jq+bootstrap,目前改用vue来做。

由于种种原因,后台接口没有去动。而之前的项目中数据安全还是使用的rsa加密。在之前的项目中使用的rsa.js  BigInt.js   berrent.js 三个文件始终无法很好的导入到vue组件中。而且我并不想直接使用script:src的方式直接引用。

网络上找了很多vue相关的rsa加密,最后反复实验确定了jsencrypt。

vue组件引入

import { JSEncrypt } from 'jsencrypt'

方法内使用

let publicKey = asdfsafdadfafasjdhfasfd // 从后台获取公钥,这里省略,直接赋值

let encryptor = new JSEncrypt() // 新建JSEncrypt对象

encryptor.setPublicKey(publicKey) // 设置公钥

let rsaPassWord = encryptor.encrypt(password) // 对密码进行加密

下面是关于服务器端公钥和密钥的生成。详细可以查阅GitHub官网。

这个库应该与openssl一起工作。这就是说,这里是如何使用这个库。

在您的终端(基于Unix的操作系统)中输入以下内容。

openssl genrsa -out rsa_1024_priv.pem 1024

这会生成一个私钥,您可以通过执行以下操作来看到...

cat rsa_1024_priv.pem

然后,您可以将其复制并粘贴到index.html中的私钥部分。

接下来,您可以通过执行以下命令获取公钥。

openssl rsa -pubout -in rsa_1024_priv.pem -out rsa_1024_pub.pem

您可以通过键入...来查看公钥

cat rsa_1024_pub.pem

Logo

前往低代码交流专区

更多推荐