`

Java MD5生成器

阅读更多

这是使用Java Swing写的一个MD5生成器。

项目名:create_md5

项目语言:Java swing;

构建工具:maven

使用IDE:eclipse

程序运行界面如下:

 

功能

(1)获取指定文件的MD5值;

(2)获取指定一段文本的MD5值

说明:本文中,MD5值使用十六进制位串表示。

 

如何获取文件的MD5值呢?

/**
	 * Get MD5 of one file:hex string,test OK!
	 * 
	 * @param file
	 * @return : hex string
	 */
	public static String getFileMD5(File file) {
		if (!file.exists() || !file.isFile()) {
			return null;
		}
		MessageDigest digest = null;
		FileInputStream in = null;
		byte buffer[] = new byte[1024];
		int len;
		try {
			digest = MessageDigest.getInstance("MD5");
			in = new FileInputStream(file);
			while ((len = in.read(buffer, 0, 1024)) != -1) {
				digest.update(buffer, 0, len);
			}
			in.close();
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
		BigInteger bigInt = new BigInteger(1, digest.digest());
		return bigInt.toString(16);
	}
/***
	 * Get MD5 of one file!test ok!
	 * 
	 * @param filepath
	 * @return
	 */
	public static String getFileMD5(String filepath) {
		File file = new File(filepath);
		return getFileMD5(file);
	}

 

如何获取一段文本的MD5值呢?

public static final char[] HEXCHAR = { '0', '1', '2', '3', '4', '5', '6',
			'7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
public static byte[] digest(byte srcBytes[], String algorithm)
			throws NoSuchAlgorithmException {
		MessageDigest digest = MessageDigest.getInstance(algorithm);
		digest.update(srcBytes);
		byte digestBytes[] = digest.digest();
		return digestBytes;
	}
public static String getMD5(String source) throws NoSuchAlgorithmException {
		byte bytes[] = digest(source.getBytes(), "MD5");
		return toHexString(bytes);
	}
/***
	 * convert byte array to hex(16) bit string
	 * 
	 * @param byte[]
	 * @return hex(16) bit string
	 */
	public static String toHexString(byte[] b) {
		StringBuilder sb = new StringBuilder(b.length * 2);
		for (int i = 0; i < b.length; i++) {
			sb.append(HEXCHAR[(b[i] & 0xf0) >>> 4]);
			sb.append(HEXCHAR[b[i] & 0x0f]);
		}
		return sb.toString();
	}

 

项目结构如下:

 

 项目源码见附件

  • 大小: 32.3 KB
  • 大小: 12.7 KB
0
0
分享到:
评论

相关推荐

    MD5生成器源码

    MD5生成器通常会一次性读取一定大小的数据,然后计算这些数据的MD5,重复这个过程直到整个文件处理完。 5. **碰撞问题**:虽然MD5哈希值的碰撞(两个不同的输入产生相同的哈希值)概率较低,但并非不可能。2004年...

    MD5Maker-MD5生成器

    MD5Maker是一款基于Java开发的MD5生成器工具,它主要用于计算文件或字符串的MD5哈希值。MD5(Message-Digest Algorithm 5)是一种广泛使用的加密散列函数,设计用于产生一个128位(16字节)的散列值。这个散列值通常...

    MD5-Generator:易于使用的GUI Java md5生成器

    MD5-Generator是一款基于Java开发的图形用户界面(GUI)工具,专用于生成MD5哈希值。MD5,全称Message-Digest Algorithm 5,是一种广泛使用的密码散列函数,能够将任意长度的数据转化为固定长度的128位(16字节)的...

    MD5值生成器

    自己开发的基于Java 的MD5值生成器,

    生成二维码和MD5

    是我平时常用工具的大集合,包括百度一键分享,color格式转化,日期转化,生成二维码,文本比较,生成MD5,请求参数处理 等 运行方法:java -jar share-0.0.3.1-SNAPSHOT.jar

    MD5-java.txt

    1. **生成盐**:通过随机数生成器创建一个16位长度的随机字符串作为盐。 2. **合并密码与盐**:将原始密码与盐拼接在一起。 3. **计算散列值**:使用MD5算法计算合并后的字符串的散列值。 4. **重新排列散列值与盐**...

    生成md5码的工具

    标题中的“生成md5码的工具”是指一种软件或应用程序,能够帮助用户快速计算出文件的MD5值。这种工具通常具有用户友好的界面,只需选择要检测的文件,它就能自动计算并显示该文件的MD5摘要。描述中的“超级好用”...

    JAVA工具类(整合,xml,json,MD5,加密解密)

    本资源提供的"JAVA工具类"整合了XML处理、JSON操作、MD5加密以及加解密功能,对提高开发效率大有裨益。 1. **XML处理**: - DOM解析:DOM(Document Object Model)是一种将XML文档映射为树形结构的方法,通过它...

    MD5码生成工具

    总的来说,MD5码生成工具是IT领域中一个实用的辅助工具,Java程序员可以借助如`MD5Gene.java`这样的代码来便捷地实现MD5码的计算。然而,需要注意的是,由于MD5的安全性问题(容易出现碰撞),在密码学等领域,MD5...

    数字签名验证(MD5工具)

    MD5验证工具非常实用的一款小软件!MD5是message-digest algorithm 5(信息-摘要算法)的缩写,被广泛用于加密和解密技术上,它可以说是文件的“数字指纹”。任何一个文件,无论是可执行程序、图像文件、临时文件...

    Java一键生成代码到controller层【源码】

    适合人群 1、具备一定Java编程基础。 2、对springboot,spring,mybatis,mybatis plus,mysql,freemarker等java技术有基本应用。 3、可大大提高开发效率,数据表创建完以后,...5、操作手册参见项目中的README.md文件

    生成二维码--.md

    根据给定的信息,本文将详细解释“生成二维码”的相关知识点,包括如何利用Java代码生成二维码、JavaScript库QRCode的使用方法及其应用场景。 ### 一、二维码简介 二维码(Quick Response Code),是一种矩阵式二...

    md5sum:MD5校验和生成器和校验器

    MD5校验和生成器和校验器 用法:生成md5校验和:./file -generate / directory / of / files /再次检查原始md5校验和:./file -check / directory / of / files / location_to_original_md5 md5哈希值的生成顺序很...

    代码生成器JAVA

    对于“代码生成器JAVA”,ReadMe.md文件应详细说明如何安装和使用这个工具,包括必要的系统需求、依赖库和示例用法。 `.project`文件是Eclipse项目的配置文件,包含了项目类型、构建路径、Natures(项目特性)等...

    Md5_java_源码

    `update()`方法用于向MD5摘要器提供数据。一旦所有数据都添加完毕,我们就可以通过调用`digest()`方法计算摘要: ```java byte[] digestBytes = md.digest(); ``` `digest()`返回的是一个16字节的数组,代表了128...

    生成器模式代码示例

    - **说明文档**:这可能是一个.md或.html文件,详细解释了生成器模式的概念、工作原理以及如何在Java中实现。它可能会包含示例代码的解释和分析。 - **Java代码示例**:这部分可能包含了抽象生成器、具体生成器和...

    java.列表推导式与生成器(解决方案).md

    java.列表推导式与生成器(解决方案).md

Global site tag (gtag.js) - Google Analytics