jmeter测试之参数Shar256加密

当我们测试的接口中,有参数需要Shar256加密处理后请求,由于jmeter自带函数中没有这个函数,需要我们自己引入。
1、使用eclipse创建类编写Shar256实现代码,网上有很多,实现原理差不多,可以直接拷贝过来。

public static String byte2Hex(byte[] bytes) {
		StringBuffer stringBuffer = new StringBuffer();
		String temp = null;
		for (int i = 0; i < bytes.length; i++) {
			temp = Integer.toHexString(bytes[i] & 0xFF);
			if (temp.length() == 1) {
				// 1得到一位的进行补0操作
				stringBuffer.append("0");
			}
			stringBuffer.append(temp);
		}
		return stringBuffer.toString();
	}
	    /**
	     * sha256_HMAC加密
	     * @param message 消息
	     * @param secret  秘钥
	     * @return 加密后字符串
	     */
	public static String sha256(String str) {
			MessageDigest messageDigest;
			String encodestr = "";
			try {
				messageDigest = MessageDigest.getInstance("SHA-256");
				messageDigest.update(str.getBytes("UTF-8"));
				encodestr = byte2Hex(messageDigest.digest());
			} catch (NoSuchAlgorithmException e) {
				e.printStackTrace();
			} catch (UnsupportedEncodingException e) {
				e.printStackTrace();
			}
			return encodestr;
		}

2、导出成jar包,选中这个类,右键->export->选择jar file–>next–>选择保存的路径并命名。
3、将该jar包放在jmeter安装目录的lib/ext目录下
4、打开jmeter,引入jar
jmeter测试之参数Shar256加密_第1张图片
5、创建BeanShell PreProcessor
jmeter测试之参数Shar256加密_第2张图片
6、创建http请求,填写ip 端口 请求路径,并编写请求参数,然后将需要加密的参数通过${}取出
jmeter测试之参数Shar256加密_第3张图片7、完成后,可以运行查看
8、在BeanShell PreProcessor中,可以通过打印日志,查看是否被加密(此处str是加密后的变量)
log.info(str);
到jmetr安装路径的bin下查看jmetr.log

你可能感兴趣的:(Jmeter)