南京做网站公司 雷仁苏州个人网站制作公司
web/
2025/9/26 6:26:16/
文章来源:
南京做网站公司 雷仁,苏州个人网站制作公司,网站建站公司费用,杭州营销目录 1. Base64加密
2. MD5加密
3. SHA加密#xff08;sha1\sha\sha224\sha256\sha384\sha512#xff09;
4. RSA加密-公钥加密#xff0c;私钥解密 1. Base64加密
1.1 在需要加密传输的接口下新增BeanShell 预处理程序#xff0c;${username}可替换成value值#xff…目录 1. Base64加密
2. MD5加密
3. SHA加密sha1\sha\sha224\sha256\sha384\sha512
4. RSA加密-公钥加密私钥解密 1. Base64加密
1.1 在需要加密传输的接口下新增BeanShell 预处理程序${username}可替换成value值但是不利于参数化
import java.util.Base64;
//初始化一个Base64对象调用encodeToString()方法
String Musername Base64.getEncoder().encodeToString(${username}.getBytes(UTF-8));
String Mpassword Base64.getEncoder().encodeToString(${password}.getBytes(UTF-8));
log.info(Musername);
log.info(Mpassword);
//设置变量
vars.put(Musername,Musername);
vars.put(Mpassword,Mpassword);
2. MD5加密
2.1 使用函数助手进行加密
${__digest(MD5,${username},,,)} 2.2 使用beanshell进行加密
在需要加密传输的接口下新增BeanShell 预处理程序 //导包
import org.apache.commons.codec.digest.DigestUtils;
//md5加密
String Musername DigestUtils.md5Hex(${username});
String Mpassword DigestUtils.md5Hex(${password});
//传值
vars.put(Musername,Musername);
vars.put(Mpassword,Mpassword);
3. SHA加密sha1\sha\sha224\sha256\sha384\sha512
3.1 使用函数助手进行加密--注意函数助手不支持sha-3加密
${__digest(sha-1,${username},,,)} 2.2 使用beanshell进行加密
import org.apache.commons.codec.digest.DigestUtils;
String username DigestUtils.sha512Hex(${username});
String password DigestUtils.sha512Hex(${password});
log.info(username加密结果为username);
log.info(password加密结果为password);
4. RSA加密-公钥加密私钥解密
需要引入python脚本进行加密--公钥根据接口需求获取可以直接问开发这里只是一个示例 #通过公钥加密
def rsa_jiami():# 接收cmd命令里面的参数parse argparse.ArgumentParser()parse.add_argument(-t, --ticket, actionappend)args parse.parse_args()ticket args.ticket#print(ticket:%s % ticket)#导入公钥public_key_str -----BEGIN RSA PUBLIC KEY-----\nMIGJAoGBALO7UPE26anTGHND2Q54zYYPusDxtbO1Yia7zoxpZediwBaea7aFZC\nJZvWd5ZBTopuWvb8hNkY24eBHcXN0pU32WjsH9REp1kXhxbndnwu3diaoUFqVc\n66xlLXEo1Y9oDWfkGCir2JnN0aieUiPlHDLhmcLII/ZDspITKDAgMBAAE\n-----END RSA PUBLIC KEY-----pubkey rsa.PublicKey.load_pkcs1(public_key_str.encode())#加密用户名username_str rsa.encrypt(str(ticket[0]).encode(utf-8),pubkey)#把二进制转化成字符串格式username_miwen base64.b64encode(username_str).decode(utf-8)print(username_miwen)print(测试)# 加密密码password_str rsa.encrypt(str(ticket[1]).encode(utf-8), pubkey)# 把二进制转化成字符串格式passsword_miwen base64.b64encode(password_str).decode(utf-8)print(passsword_miwen)if __name__ __main__:rsa_jiami()
beanshell调用
注意这里需要安装rsa不然会引用失败。在控制台安装【pip install rsa】 import java.io.BufferedReader; //导包
import java.io.InputStreamReader;String command cmd /c python D:/study/course/Jmeter/RSAjiami.py -t ${username} -t ${password}; //组建cmd命令并执行py文件
Runtime rt Runtime.getRuntime(); //初始化一个运行时对象
Process pr rt.exec(command); //通过运行时对象运行cmd命令。pr.waitFor(); //运行时等待//调用pr进程对象获取到它的输入流。读取pr文件流的内容并且保存到reponse_data
BufferedReader br new BufferedReader(new InputStreamReader(pr.getInputStream()));
StringBuilder response new StringBuilder();
String line ;
while((linebr.readLine())!null){response.append(line);
};
String reponse_data response.toString();
br.close();log.info(reponse_data:reponse_data);//打印返回的内容//获取用户名和密码
String[] miwen reponse_data.split(测试);
log.info(miwen[0]);
log.info(miwen[1]);
vars.put(Musername,miwen[0]);
vars.put(Mpassword,miwen[1]);
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82048.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!