jmeter5.0测试3DES加密接口,调用数据库数据加密

 要测试3DES加密接口分为以下三步:
 一、eclipse导出加密包
 二、连接mysql数据库
 三、调用jmeter前置管理器

一、eclipse导出加密包分为以下几步:
(1)3DES加密/解密方法可以自己百度,也可以直接问开发要源码:
package DES;
import org.apache.commons.codec.binary.Base64;

import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESedeKeySpec;
import java.net.URLDecoder;

public class There3DesUtil {

private static String key = "WJ6X1X6IRMO2EXZYLYWWZGMY";
private static String ALGORITHM = "DESede";

/**
 * 3DES加密
 *
 * @param src 需要加密的明文
 * @return 加密后的密文
 */
public static String urlDecrypt(String src, String des3_key) throws Exception {
    src = URLDecoder.decode(src, "UTF-8");
    src = src.replaceAll("\\ ", "+");
    return There3DesUtil.Decrypt(src, des3_key);
}

/**
 * 3DES加密
 *
 * @param src 需要加密的明文
 * @return 加密后的密文
 */
public static String Encrypt(String src, String des3_key) throws Exception {
    Cipher cipher = Cipher.getInstance(ALGORITHM);
    DESedeKeySpec desKeySpec = new DESedeKeySpec(des3_key.getBytes());
    SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(ALGORITHM);
    SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
    cipher.init(Cipher.ENCRYPT_MODE, secretKey);
    return new String(Base64.encodeBase64(cipher.doFinal(src.getBytes("UTF-8"))));
}

public static String EncryptM(String src) {
    try {
        return Encrypt(src, key);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return "";
}

/**
 * 3DES解密
 *
 * @param src 加密后的密文
 * @return 解密后的明文
 */
public static String Decrypt(String src, String des3_key) throws Exception {
    Cipher cipher = Cipher.getInstance(ALGORITHM);
    DESedeKeySpec desKeySpec = new DESedeKeySpec(des3_key.getBytes());
    SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(ALGORITHM);
    SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
    cipher.init(Cipher.DECRYPT_MODE, secretKey);
    byte[] target = cipher.doFinal(Base64.decodeBase64(src.getBytes("UTF-8")));
    return new String(target, "UTF-8");
}

public static void main(String[] args) {
	//测试加密后的字符串
		String s = "c4d597468b774f7e8aa2f5cc3ac09955";
		System.out.println("s:" + s);
		String s1 = There3DesUtil.EncryptM(s);
		System.out.println("s1:" + s1);        
	}

}
(2)通过eclipse导出加密方法:
在这里插入图片描述
(3)导出加密包放在jmeter\lib\ext下

二、连接mysql数据库
(1)先在往下下载插件包mysql-connector-java-8.0.15,放到jmeter下面
(2)添加一个测试计划,把上面加密包,数据库插件包添加进来,如图
在这里插入图片描述
(3)添加一个线程组,在线程组配置mysql,如图
在这里插入图片描述
(4)根据自己需求来写sql语句,如图:(注意变量名称需要第(3)一致)
在这里插入图片描述
三、调用jmeter前置管理器

(1)调用前置管理器来达到加密效果,我这里是json字符串加密,可以添加一个debug来看有没有加密成功,如图:
在这里插入图片描述
(2)添加http请求/结果树来测试加密接口
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值