• JMeter 十六:加密处理


    假设采用MD5进行加密

    JMeter 内置的没有MD5加密方法。网上有说采用__MD5函数的,但是我在 Jmeter 2.13 以及 Jmeter 3.2 版本上都没有找到这个函数,官方文档也没有看到该函数的说明,所以弃用这种方法。

    网上的另外一种实现方式,比较曲折,就是采用自己编写Jar包的方式进行加密

    新建Jar包

    1. 打开eclipse

    2. 新建Java 项目。这里项目名就叫“project_Java”。

    建立好项目之后,在src下建立 Package ,也就是”my.encrypt.com“。

    image

    3. 在 ”my.encrypt.com“包下新建 Class ,也就是 “MyEncrypt”。

    如果是MD5加密,MyEncrypt.java 文件可以参考下面的代码。

    如果是其他加密方式,可以去网上找加密代码,或者让开发直接帮忙写一个。

    package my.encrypt.com;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    
    public class MyEncrypt {
        public static String getMd5(String plainText) {  
            try {  
                MessageDigest md = MessageDigest.getInstance("MD5");  
                md.update(plainText.getBytes());  
                byte b[] = md.digest();  
    
                int i;  
    
                StringBuffer buf = new StringBuffer("");  
                for (int offset = 0; offset < b.length; offset++) {  
                    i = b[offset];  
                    if (i < 0)  
                        i += 256;  
                    if (i < 16)  
                        buf.append("0");  
                    buf.append(Integer.toHexString(i));  
                }  
                //32位加密  
                return buf.toString();  
                // 16位的加密  
                //return buf.toString().substring(8, 24);  
            } catch (NoSuchAlgorithmException e) {  
                e.printStackTrace();  
                return null;  
            }  
        }   
    }

    4. 保存项目之后,在项目名上右键 –> Export –> JAR file 。

    输入 JAR file 名称,比如这里就叫做 “MyEncrypt.jar”。一路下一步,然后就导出成功了。

    一般MyEncrypt.jar 位于 eclipse 工作区路径下。

    拷贝Jar包

    1. 找到 MyEncrypt.jar 文件,拷贝到“Jmeter 安装路径libext”文件夹中。

    可以看到 lib 下面都是各种各样的 JAR包。

    JMeter中使用

    1. 打开JMeter, 新建一个JMeter项目。

    包括 测试计划、线程组、用户定义的变量、HTTP请求、监听器 等等。

    2. 在测试计划中导入Jar包。

    打开测试计划页面, 可以看到页面底部有 “Add directory or jar to classpath ”,这里就是导入Jar包用的。

    我们点击浏览,找到我们拷贝到 libext 下的jar 文件,点击打开即可。

    image

    3.  在HTTP请求前面新建 Sampler –>  BeanShell Sampler ,在Script 中输入如下脚本

    import my.encrypt.com.MyEncrypt;    
    // 导入类名,后面的值是 JAVA 包名.类名
    
    String myuser = MyEncrypt.getMd5(vars.get("user"));    
    //定义一个变量 myuser ,值为类中的 getMd5 执行返回的结果,getMd5的参数为 用户定义的变量中定义的 user 值
    vars.put("myuser",myuser.toString());        
    //将 myuser 的值放置到 JMeter 变量 myuser 中
    
    String mypw = MyEncrypt.getMd5(vars.get("pw"));
    vars.put("mypw",mypw.toString());

    image

    image

    4. 在HTTP请求中,就可以使用上面产生的变量 ${myuser} 以及 ${mypw}。

    mypw=e78582c7fa761cb9358009503f2810a9
    myuser=5d41402abc4b2a76b9719d911017c592
  • 相关阅读:
    OCR文字识别【前端渲染,后端进行逻辑处理】
    前端vue实现高级检索小案例
    Pycharm安装中文语言插件Chinese【木鱼快速安装版】
    vue快速实现锚点功能【简单版与高级版】
    前端实现elpagination分页的两种业务场景,你知道吗?
    富文本编辑器应该这么用【博客文章发布、日常记录神器】
    vue实现按钮弹框【弹出图片、视频、表格、表单等】
    前端vue项目最强优化美化浏览器右侧滚动条样式与elscrollbar
    UI设计指南之可视化大屏【快速理解版】
    前端添加水印效果攻略【vue和原生js添加方式】
  • 原文地址:https://www.cnblogs.com/miniren/p/7239875.html
Copyright © 2020-2023  润新知