jmeter接口测试-使用aes加密算法

好久没写文章了,一直在忙公司项目的事情!今天抽空写篇关于jmeter加密的教程吧!

 

随着互联网的发展,越来越多的系统开始提供接口调用!

我们进行接口测试的时候,大多数接口或多或少的都使用了各种加密验证,保证接口的安全调用!所以如何使用jmeter来应对各种加密接口 是一项必要技能

接下来大虫会对市面上常用的加密算法 (Md5 sign 签名、des加密算法、aes加密算法、rsa加密算法 等等)进行一一解析!

 

aes   对称加密算法,通过解密密文,可以得到被加密的数据!

 

先上代码吧!

 

 

import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.binary.Base64;
public static String Encrypt(String sSrc, String sKey) throws Exception {
        if (sKey == null) {
            return null; } // 判断Key是否为16位 if (sKey.length() != 16) { return null; } byte[] raw = sKey.getBytes("utf-8"); SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES"); Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");// "算法/模式/补码方式"  cipher.init(Cipher.ENCRYPT_MODE, skeySpec); byte[] encrypted = cipher.doFinal(sSrc.getBytes("utf-8")); return Base64.encodeBase64String(encrypted);// 此处使用BASE64做转码功能,同时能起到2次加密的作用。  } String cSrc = "{\"appId\":\"P201707280\",\"applyNo\":\"20170802101737582178\",\"idNo\":\"jmeter 高级技术群:572445436\",\"userName\":\"jmeter 高级技术群:572445436\",\"phone\":\"jmeter 高级技术群:572445436\",\"zhima\":700,\"applyTime\":\"2017-08-02 10:17:37\",\"amount\":9800}"; //密码,长度要是8的倍数 String cKey = "d4e9acc6a0ff505b"; // 需要加密的字串  System.out.println(cSrc); // 加密 String enString = Encrypt(cSrc, cKey); vars.put("enString",enString); return enString;

 

 

本代码是运行在jmeter的 beanshell中的,你也可以封装成类,编译成jar包,供jmeter调用,都是可以的

以上代码再运用aes加密之后,又对结果进行了base64 编码,这样就便于查看和传输了,aes的直接加密结果是字节集,强行转换成字符串的话,肯定是一串乱码~!

 

 

 

转载于:https://www.cnblogs.com/artoftest/p/7277996.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值