前端加密、解密数据

需求:账号密码加密数据传送,后台返回数据前端解密显示



解决方案: (非对称性加密)

首先,为了更好的加密,我们不能用简单的加密,因为很有可能会被轻松破解掉,我之前实现的加密只是简单的把数据加密,在测试过程中(安全性测试),通过一些技巧还是可以解密成功。

所以,对于一些重要的信息可能需要非对称加密。

所谓的非对称加密解密,在我的理解的,就是前端用一把钥匙解密/加密,而后台用另一把钥匙来做同样的操作。

也就是,前端加密用特定的钥匙,解密的钥匙只在后端那里。这样在传输过程中就不会把钥匙丢掉。

同样,后端加密数据用一把钥匙,解密的时候,前端自己有规定的钥匙,这样数据也不会在过程中解密截取。

jsencrypt,我是用这个来加密的。

1、我这里是用vue

所以,第一步 npm install jsencrypt

2、安装完之后,开始定义一个专门用来加密解密的文件,我放到utils文件里面。

引入JSEncrypt

创建secret.js

3、重点来了加密解密

首先,我这里使用公钥加密(由后台来给你公钥)

加密
main.js

全局引用,使用


在页面中使用

这样加密就完成了。


解密

通常由后台加密,前端负责加密

由后台生成私钥,然后前端用来解密。

解密

引用和加密一样

你可能感兴趣的:(前端加密、解密数据)