记录一下前端使用CryptoJS的几种加密方式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录一下前端使用CryptoJS的几种加密方式相关的知识,希望对你有一定的参考价值。
参考技术A 自己太小白了,之前在PC端项目中使用的MD5加密,现在的小程序项目使用了 CryptoJS 里面的 enc-base64 和 hmac-sha1 ,之前没有用到过这两种,所以比较疑惑,为何在小程序不继续使用 MD5 呢?所以在这里记录一下自己解疑惑的一些知识点。随着互联网的兴起,我们对信息的安全越来越受重视,这样就导致在web开发中,对用户密码等各种加密变得更加重要了。与服务器的交互中,为了确保数据传输的安全性,避免被黑客抓包篡改。
对于Base64编码的,我觉得看一篇文章能够解决你的疑惑,我在这里就不赘述了
🧐 Base64编码原理
如: 用户密码,请求参数,文件加密
如: 接口参数签名验证服务
支付数据、CA数字证书
前端的朋友可能会关注前端js加密,我们在做 WEB 的登录功能时一般是通过 Form 提交或 Ajax 方式提交到服务器进行验证的。为了防止抓包,登录密码肯定要先进行一次加密(RSA),再提交到服务器进行验证。一些大公司都在使用,比如淘宝、京东、新浪 等。
前端加密也有很多现成的js库,如:
JS-RSA: 用于执行OpenSSL RSA加密、解密和密钥生成的javascript库, https://github.com/travist/jsencrypt
MD5: 单向散列加密md5 js库, https://github.com/blueimp/JavaScript-MD5
crypto-js: 对称加密AES js库, https://github.com/brix/crypto-js
-CryptoJS (crypto.js) 为 JavaScript 提供了各种各样的加密算法。
HMAC 系列是消息验证,用于验证一个消息是否被篡改——如网站上传递 email 和 hmac(email),则接收时可以通过 hmac(email) 获知 email 是否是用户伪造的
前端AES + RSA加密
参考技术A常见加密方式分为以下两类:
以中后台管理项目为例:
需完善点:
设想:
鉴于AES较高的性能及RSA公私钥方式的易用性,能否结合这两者的优点实现对数据安全的保障?
以下是构思的业务流程:
这里结合Vue实现
Tip:
结合两种加密方式使用,可以满足大多数的使用场景,发挥出各自的优点。
理解AES + RSA的结合加密思路后,实现方式可根据具体情况修改。
————加密定义及分类摘自 百度百科
欢迎大家积极讨论,共同进步。
我的掘金
以上是关于记录一下前端使用CryptoJS的几种加密方式的主要内容,如果未能解决你的问题,请参考以下文章