背景:项目中为了安全考虑,对用户姓名进行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();