首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

crypto-js aes 加解密

前端 crypto-js aes 加解密 背景 前段时间公司做项目,该项目涉及到的敏感数据比较多,经过的一波讨论之后,决定前后端进行接口加密处理,采用的是 AES + BASE64 算法加密~ 网上关于...对这一块还不是特别理解的小伙伴可自行百度,这里我推荐一篇AES加密算法的详细介绍与实现,讲的还是蛮详细的~ 具体实现 其实搞懂了是怎么一回事,做起来还是挺简单的,因为库都是现成的,我们只需要会用就好啦,这里我在推荐一篇理解AES加密解密的使用方法...,加深大家对 AES 算法的理解~ 这里我以 Vue 作为例子,其他的也就大同小异了~ 要用 AES 算法加密,首先我们要引入 crypto-jscrypto-js 是一个纯 javascript...值得注意的是密钥的长度,由于对称解密使用的算法是 AES-128-CBC算法,数据采用 PKCS#7 填充 , 因此这里的 key 需要为16位!...加密方法 Encrypt ,最后通过 export default 将其暴露出去,方便在需要的时候进行引入~ ok,核心代码就这么多,是不是很简单啊,其实也么有你想的那么复杂哈,剩下的就是展示一下如何使用

6.6K30
您找到你想要的搜索结果了吗?
是的
没有找到

实战|记一次测试过程中登录参数加密逆向分析

在测试过程中遇到一个登录框,看到前端加密的情况下对密码处进行了简单的加密分析 在控制台中打开网络,匹配Fetch/XHR,可以看到password处进行了加密处理 在js中全局搜索encrypt 这里可以看到使用的是...AES的ECB模式加密(这可以使用python的Crypto-js库来写加解密脚本或者从前端提取出js进行逆向,因为该库中有c(t)函数中所调用的enc,AES方法) 第一种方法使用python脚本来进行加密...print(decrypt(enData)) 运行结果(可以看到跟一张图中的password加密值一致) 第二种方法提取前端js来逆向,整体代码如下 const CryptJs = require('crypto-js...crypto-js库中的方法,所以可以将i.a替换为变量CryptJs(因为js文件中定义了 const CryptJs = require('crypto-js');所以可以直接使用CryptJs替换...i.a) 当运行这个js文件时会报错o没有定义 这时回到断点处,将光标移到变量o处(或者在控制台中输出o的值再复制) 此时将o替换成我们复制出来的值 运行结果跟查询的一致 在进行登录框爆破时可以使用该脚本进行批量加密

85510

使用encodeURI出现URI malformed报错

在点击导出后出现了 URI malformed 报错提示。 一开始我以为是进行 encode 加密的时候将搜索对象进行了 JSON 序列化导致的。...然后经过排查发现只有在查询条件 Name 字段输入值后,点击导出才会报错。对比发现 Name 字段相比其他字段多加上了 % 的前缀和后缀,把 % 去掉之后发现一切正常。...然后查找后发现浏览器在对 % 执行 decodeURI、decodeURIComponent、encodeURI、encodeURIComponent 的时候会报错。因为 % 在浏览器属于不安全字符。...的过程,都有可能引入无关紧要的空格,或者将那些有意义的空格给去掉 引号以及 引号和尖括号通常用于在普通文本中起到分隔Url的作用 # 通常用于表示书签或者锚点 % 百分号本身用作对不安全字符进行编码时使用的特殊字符

42620
领券