背景:项目中为了安全考虑,对用户姓名进行aes加密处理,但是脚本中有需要用到用户名的地方,所以需要对加密后的名字进行解密处理,再传给后端。
步骤:
1、将解密算法打成jar包(需要将所有用到的包都打进去)
2、将jar包导入脚本
3、请求后加beanshell postprocessor
4、调用jar包里的解密算法进行解密,将解密后的值存在变量里
5、在后续的请求中引用该变量

备注:
1、 提示 org/bouncycastle/jce/provider/BouncyCastleProvider 相关错误
原因:解密代码里用到BouncyCastleProvider相关方法,但是打jar包的时候没有把相关资源打进去;
解决方法:让研发帮忙重新打jar包
2、提示:ERROR i.i.AESUtils: 解密异常:Illegal key size
原因:使用 256 Bit key,相应的jdk版本太低了,本地的jdk版本为1.8_121
解决方法:将jdk版本升级到1.8.0_321该问题解决
3、beanshell脚本里不支持${xxx}的写法,需要将变量存储起来,用vars.get();
AES加密解密在脚本中的应用与问题解决
这篇博客介绍了在项目中使用AES加密用户姓名以确保安全,然后在脚本中解密以供使用的流程。遇到的挑战包括BouncyCastleProvider缺失、解密异常及Beanshell脚本变量处理。解决方案包括重新打包jar,升级JDK版本以及理解Beanshell中变量的正确使用方式。通过这些步骤,成功实现了加密数据在不同环境间的解密和传递。
368

被折叠的 条评论
为什么被折叠?



