美文网首页
Vue axios实现传输加密

Vue axios实现传输加密

作者: neostfox | 来源:发表于2017-05-11 18:43 被阅读1368次

    最近做公司的项目,要求实现在数据传输过程中进行加密。本来准备要用HTTPS进行传输 。由于项目采用的是Vue.js框架。结合http是无状态的会话,需要把用户的口令保存到本地。历史遗留原因,并没有把口令存储到cookie中,保存在SessionStorage中。暴露了Token,很容易被其他人拿走Token实现跨站攻击。

    公司要求每次传输数据要随机变化。不能暴露Token。即使拿到Token也无法对网站进行攻击。F12不能看到传输的明文数据。

    所以结合后端 采用AES加密。

    使用crypto.js 在axios 的transformRequest中对请求对象进行Aes加密。

    此处需要注意,因为有些情况是不需要加密的,所以返回的data应该为string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams中的一种。但是此处应该要注意的是 string类型要用QueryString.stringify而不是JSON.Stringify否则会在请求的数据后面增加 一个'':';

    对于服务器返回的数据,要用JSON.parse解析而不是用querystring.parse解析,否则解析的是简单对象外加空格回车。这是两个坑。

    下面贴上代码:

    顶部引入crypto-js

    加密解密的具体实现。其中zbzbxConfig为系统的定义的配置文件

    相关文章

      网友评论

          本文标题:Vue axios实现传输加密

          本文链接:https://www.haomeiwen.com/subject/gdfatxtx.html