package md5package;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; public class String2md5 { public static void main(String args[]) {
String aaa=StringToMd5("abc"); if(aaa.equals("900150983cd24fb0d6963f7d28e17f72"))
System.out.println("MD5加密后的值是:"+aaa);
else
System.out.println("-----sorry-"+aaa); } public static String StringToMd5(String psw) {
{
try {
MessageDigest md5 = MessageDigest.getInstance("MD5");
md5.update(psw.getBytes("UTF-8"));
byte[] encryption = md5.digest(); StringBuffer strBuf = new StringBuffer();
for (int i = 0; i < encryption.length; i++) {
if (Integer.toHexString(0xff & encryption[i]).length() == 1) {
strBuf.append("0").append(Integer.toHexString(0xff & encryption[i]));
} else {
strBuf.append(Integer.toHexString(0xff & encryption[i]));
}
} return strBuf.toString();
} catch (NoSuchAlgorithmException e) {
return "";
} catch (UnsupportedEncodingException e) {
return "";
}
}
} }

  找了一下,目前Jmeter4.0版本中已经默认自带这个md5方法了,源码如下:

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
// package org.apache.commons.codec.digest; import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.ByteBuffer;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import org.apache.commons.codec.binary.Hex;
import org.apache.commons.codec.binary.StringUtils; public class DigestUtils {
private static final int STREAM_BUFFER_LENGTH = 1024;
private final MessageDigest messageDigest; public static byte[] digest(MessageDigest messageDigest, byte[] data) {
return messageDigest.digest(data);
} public static byte[] digest(MessageDigest messageDigest, ByteBuffer data) {
messageDigest.update(data);
return messageDigest.digest();
} public static byte[] digest(MessageDigest messageDigest, File data) throws IOException {
return updateDigest(messageDigest, data).digest();
} public static byte[] digest(MessageDigest messageDigest, InputStream data) throws IOException {
return updateDigest(messageDigest, data).digest();
} public static MessageDigest getDigest(String algorithm) {
try {
return MessageDigest.getInstance(algorithm);
} catch (NoSuchAlgorithmException var2) {
throw new IllegalArgumentException(var2);
}
} public static MessageDigest getDigest(String algorithm, MessageDigest defaultMessageDigest) {
try {
return MessageDigest.getInstance(algorithm);
} catch (Exception var3) {
return defaultMessageDigest;
}
} public static MessageDigest getMd2Digest() {
return getDigest("MD2");
} public static MessageDigest getMd5Digest() {
return getDigest("MD5");
} public static MessageDigest getSha1Digest() {
return getDigest("SHA-1");
} public static MessageDigest getSha256Digest() {
return getDigest("SHA-256");
} public static MessageDigest getSha384Digest() {
return getDigest("SHA-384");
} public static MessageDigest getSha512Digest() {
return getDigest("SHA-512");
} /** @deprecated */
@Deprecated
public static MessageDigest getShaDigest() {
return getSha1Digest();
} public static byte[] md2(byte[] data) {
return getMd2Digest().digest(data);
} public static byte[] md2(InputStream data) throws IOException {
return digest(getMd2Digest(), data);
} public static byte[] md2(String data) {
return md2(StringUtils.getBytesUtf8(data));
} public static String md2Hex(byte[] data) {
return Hex.encodeHexString(md2(data));
} public static String md2Hex(InputStream data) throws IOException {
return Hex.encodeHexString(md2(data));
} public static String md2Hex(String data) {
return Hex.encodeHexString(md2(data));
} public static byte[] md5(byte[] data) {
return getMd5Digest().digest(data);
} public static byte[] md5(InputStream data) throws IOException {
return digest(getMd5Digest(), data);
} public static byte[] md5(String data) {
return md5(StringUtils.getBytesUtf8(data));
} public static String md5Hex(byte[] data) {
return Hex.encodeHexString(md5(data));
} public static String md5Hex(InputStream data) throws IOException {
return Hex.encodeHexString(md5(data));
} public static String md5Hex(String data) {
return Hex.encodeHexString(md5(data));
} /** @deprecated */
@Deprecated
public static byte[] sha(byte[] data) {
return sha1(data);
} /** @deprecated */
@Deprecated
public static byte[] sha(InputStream data) throws IOException {
return sha1(data);
} /** @deprecated */
@Deprecated
public static byte[] sha(String data) {
return sha1(data);
} public static byte[] sha1(byte[] data) {
return getSha1Digest().digest(data);
} public static byte[] sha1(InputStream data) throws IOException {
return digest(getSha1Digest(), data);
} public static byte[] sha1(String data) {
return sha1(StringUtils.getBytesUtf8(data));
} public static String sha1Hex(byte[] data) {
return Hex.encodeHexString(sha1(data));
} public static String sha1Hex(InputStream data) throws IOException {
return Hex.encodeHexString(sha1(data));
} public static String sha1Hex(String data) {
return Hex.encodeHexString(sha1(data));
} public static byte[] sha256(byte[] data) {
return getSha256Digest().digest(data);
} public static byte[] sha256(InputStream data) throws IOException {
return digest(getSha256Digest(), data);
} public static byte[] sha256(String data) {
return sha256(StringUtils.getBytesUtf8(data));
} public static String sha256Hex(byte[] data) {
return Hex.encodeHexString(sha256(data));
} public static String sha256Hex(InputStream data) throws IOException {
return Hex.encodeHexString(sha256(data));
} public static String sha256Hex(String data) {
return Hex.encodeHexString(sha256(data));
} public static byte[] sha384(byte[] data) {
return getSha384Digest().digest(data);
} public static byte[] sha384(InputStream data) throws IOException {
return digest(getSha384Digest(), data);
} public static byte[] sha384(String data) {
return sha384(StringUtils.getBytesUtf8(data));
} public static String sha384Hex(byte[] data) {
return Hex.encodeHexString(sha384(data));
} public static String sha384Hex(InputStream data) throws IOException {
return Hex.encodeHexString(sha384(data));
} public static String sha384Hex(String data) {
return Hex.encodeHexString(sha384(data));
} public static byte[] sha512(byte[] data) {
return getSha512Digest().digest(data);
} public static byte[] sha512(InputStream data) throws IOException {
return digest(getSha512Digest(), data);
} public static byte[] sha512(String data) {
return sha512(StringUtils.getBytesUtf8(data));
} public static String sha512Hex(byte[] data) {
return Hex.encodeHexString(sha512(data));
} public static String sha512Hex(InputStream data) throws IOException {
return Hex.encodeHexString(sha512(data));
} public static String sha512Hex(String data) {
return Hex.encodeHexString(sha512(data));
} /** @deprecated */
@Deprecated
public static String shaHex(byte[] data) {
return sha1Hex(data);
} /** @deprecated */
@Deprecated
public static String shaHex(InputStream data) throws IOException {
return sha1Hex(data);
} /** @deprecated */
@Deprecated
public static String shaHex(String data) {
return sha1Hex(data);
} public static MessageDigest updateDigest(MessageDigest messageDigest, byte[] valueToDigest) {
messageDigest.update(valueToDigest);
return messageDigest;
} public static MessageDigest updateDigest(MessageDigest messageDigest, ByteBuffer valueToDigest) {
messageDigest.update(valueToDigest);
return messageDigest;
} public static MessageDigest updateDigest(MessageDigest digest, File data) throws IOException {
BufferedInputStream stream = new BufferedInputStream(new FileInputStream(data)); MessageDigest var3;
try {
var3 = updateDigest(digest, (InputStream)stream);
} finally {
stream.close();
} return var3;
} public static MessageDigest updateDigest(MessageDigest digest, InputStream data) throws IOException {
byte[] buffer = new byte[1024]; for(int read = data.read(buffer, 0, 1024); read > -1; read = data.read(buffer, 0, 1024)) {
digest.update(buffer, 0, read);
} return digest;
} public static MessageDigest updateDigest(MessageDigest messageDigest, String valueToDigest) {
messageDigest.update(StringUtils.getBytesUtf8(valueToDigest));
return messageDigest;
} public static boolean isAvailable(String messageDigestAlgorithm) {
return getDigest(messageDigestAlgorithm, (MessageDigest)null) != null;
} /** @deprecated */
@Deprecated
public DigestUtils() {
this.messageDigest = null;
} public DigestUtils(MessageDigest digest) {
this.messageDigest = digest;
} public DigestUtils(String name) {
this(getDigest(name));
} public MessageDigest getMessageDigest() {
return this.messageDigest;
} public byte[] digest(byte[] data) {
return updateDigest(this.messageDigest, data).digest();
} public byte[] digest(String data) {
return updateDigest(this.messageDigest, data).digest();
} public byte[] digest(ByteBuffer data) {
return updateDigest(this.messageDigest, data).digest();
} public byte[] digest(File data) throws IOException {
return updateDigest(this.messageDigest, data).digest();
} public byte[] digest(InputStream data) throws IOException {
return updateDigest(this.messageDigest, data).digest();
} public String digestAsHex(byte[] data) {
return Hex.encodeHexString(this.digest(data));
} public String digestAsHex(String data) {
return Hex.encodeHexString(this.digest(data));
} public String digestAsHex(ByteBuffer data) {
return Hex.encodeHexString(this.digest(data));
} public String digestAsHex(File data) throws IOException {
return Hex.encodeHexString(this.digest(data));
} public String digestAsHex(InputStream data) throws IOException {
return Hex.encodeHexString(this.digest(data));
}
}

  Jmeter要如何引用呢

import org.apache.commons.codec.digest.DigestUtils;  

String str = "abc";
String str2 = "测试"; String sign = DigestUtils.md5Hex(str);
String sign2 = DigestUtils.md5Hex(str2);
String random = str;
String random2 = str2; vars.put("sign_str",sign.toUpperCase());
vars.put("random",random); vars.put("sign_str",sign2.toUpperCase());
vars.put("random",random2);

  

Java语言编写MD5加密方法,Jmeter如何给字符串MD5加密的更多相关文章

  1. Atiitt 使用java语言编写sql函数或存储过程

    Atiitt 使用java语言编写sql函数或存储过程 1.1. java编写sql函数或存储过程的机制1 1.2. Java编写sp的优点1 1.3. 支持java源码,class文件,blog f ...

  2. Fastjson是一个Java语言编写的高性能功能完善的JSON库。

    简介 Fastjson是一个Java语言编写的高性能功能完善的JSON库. 高性能 fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson. ...

  3. 使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网)

    使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网) 一,前期准备 1,Java IDE(Eclipse)与JDK的安装与配置jdk-15.0.1-免配置路径版提取码:earu免安装版 ...

  4. 使用java语言编写窗口按钮

    使用java语言编写窗口按钮 代码如下: package Day08; import java.awt.FlowLayout; import javax.swing.JButton;import ja ...

  5. java语言规范,main方法必须声明为public

    注释: 根据java语言规范,main方法必须声明为public. 当main方法不是public时,有些版本的java解释器也可以执行java应用程序.有个程序员报告了这个bug. 如果感兴趣可以查 ...

  6. 第二次作业利用java语言编写计算器进行四则运算

    随着第一次作业的完成,助教 牛老师又布置了第二次作业:用java语言编写一个程序然后进行四则运算用户用键盘输入一个字符来结束程序显示统计结果.一开始看到这个题目我也着实吓了一跳 因为不知道如何下手而且 ...

  7. 用Java语言编写一个简易画板

    讲了三篇概博客的概念,今天,我们来一点实际的东西.我们来探讨一下如何用Java语言,编写一块简易的画图板. 一.需求分析 无论我们使用什么语言,去编写一个什么样的项目,我们的第一步,总是去分析这个项目 ...

  8. java语言编写矩阵的四则运算

    题目要求如下: 设计程序实现矩阵的四则运算 设计要求: (1) 实现矩阵的四则运算. (2) 考虑实现带变元的矩阵计算. (3)考虑实现矩阵的特征值和特征向量的计算. 我使用java语言写的 目录结构 ...

  9. java基础知识回顾之---java String final类普通方法的应用之字符串数组排序

    /* * 1,给定一个字符串数组.按照字典顺序进行从小到大的排序. * {"nba","abc","cba","zz", ...

随机推荐

  1. mysql插入和更新时自动更新为当前时间

    创建表的时候添加 CREATE TABLE `tmp` (   `id` varchar(32) NOT NULL,  `update_time ` timestamp NOT NULL DEFAUL ...

  2. Assets.xcassets 应用

    1.应用 Assets.xcassets :用来存放图像资源文件 给项目添加 AppIcon 时图标要用 png 格式的,不要用其他格式.当是其它图片格式时 ,不要仅仅修改其后缀名,若仅仅修改后缀名, ...

  3. ASCII说明和ASCII对照表

    ASCII 说明 ASCII 码使用指定的 7 位或 8 位二进制数组合来表示 128 或 256 种可能的字符.标准 ASCII 码也叫基础ASCII码,使用 7 位二进制数来表示所有的大写和小写字 ...

  4. 持续集成之四:Jenkins+sonarqube

    参考其他文章,编译 构建 检查工具 参考:https://blog.csdn.net/lswnew/article/details/79193529 http://www.uml.org.cn/cod ...

  5. Siddhi初探

    官方对Siddhi的介绍如下: Siddhi CEP is a lightweight, easy-to-use Open Source Complex Event Processing Engine ...

  6. 简化document.createElement("div")动态生成层方法

    我们在WEB开发时,很多时候往往需要我们 JavaScript 来动态建立 html 元素,动态的设置相关的属性.比方说我们想要建立一個 div 层,则可以使用以下代码实现. 一.直接建立functi ...

  7. ACM题目————困难的串

    题目描述 如果一个字符串包含两个相邻的重复子串,则称他是“容易的串”,其他串称为"困难的串".例如,BB,ABCDACABCAB,ABCDABCD都是容易的串,而D,DC,ABDA ...

  8. SNMP学习笔记之SNMP 原理与实战详解

    原文地址:http://freeloda.blog.51cto.com/2033581/1306743 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法 ...

  9. Python Web学习笔记之socket套接字

    套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象.它们允许程序接受并进行连接,如发送和接受数据.为了建立通信通道,网络通信 ...

  10. Python3: Windows系统上同时安装Python2和Python3

    Python3: Windows系统上同时安装Python2和Python3 为什么要同时安装Python2和Python3环境呢? 因为一些库只支持Python2或者Python3; 在同一台电脑上 ...