这是使用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(); }
项目结构如下:
项目源码见附件
相关推荐
MD5生成器通常会一次性读取一定大小的数据,然后计算这些数据的MD5,重复这个过程直到整个文件处理完。 5. **碰撞问题**:虽然MD5哈希值的碰撞(两个不同的输入产生相同的哈希值)概率较低,但并非不可能。2004年...
MD5Maker是一款基于Java开发的MD5生成器工具,它主要用于计算文件或字符串的MD5哈希值。MD5(Message-Digest Algorithm 5)是一种广泛使用的加密散列函数,设计用于产生一个128位(16字节)的散列值。这个散列值通常...
MD5-Generator是一款基于Java开发的图形用户界面(GUI)工具,专用于生成MD5哈希值。MD5,全称Message-Digest Algorithm 5,是一种广泛使用的密码散列函数,能够将任意长度的数据转化为固定长度的128位(16字节)的...
自己开发的基于Java 的MD5值生成器,
是我平时常用工具的大集合,包括百度一键分享,color格式转化,日期转化,生成二维码,文本比较,生成MD5,请求参数处理 等 运行方法:java -jar share-0.0.3.1-SNAPSHOT.jar
1. **生成盐**:通过随机数生成器创建一个16位长度的随机字符串作为盐。 2. **合并密码与盐**:将原始密码与盐拼接在一起。 3. **计算散列值**:使用MD5算法计算合并后的字符串的散列值。 4. **重新排列散列值与盐**...
标题中的“生成md5码的工具”是指一种软件或应用程序,能够帮助用户快速计算出文件的MD5值。这种工具通常具有用户友好的界面,只需选择要检测的文件,它就能自动计算并显示该文件的MD5摘要。描述中的“超级好用”...
本资源提供的"JAVA工具类"整合了XML处理、JSON操作、MD5加密以及加解密功能,对提高开发效率大有裨益。 1. **XML处理**: - DOM解析:DOM(Document Object Model)是一种将XML文档映射为树形结构的方法,通过它...
总的来说,MD5码生成工具是IT领域中一个实用的辅助工具,Java程序员可以借助如`MD5Gene.java`这样的代码来便捷地实现MD5码的计算。然而,需要注意的是,由于MD5的安全性问题(容易出现碰撞),在密码学等领域,MD5...
MD5验证工具非常实用的一款小软件!MD5是message-digest algorithm 5(信息-摘要算法)的缩写,被广泛用于加密和解密技术上,它可以说是文件的“数字指纹”。任何一个文件,无论是可执行程序、图像文件、临时文件...
适合人群 1、具备一定Java编程基础。 2、对springboot,spring,mybatis,mybatis plus,mysql,freemarker等java技术有基本应用。 3、可大大提高开发效率,数据表创建完以后,...5、操作手册参见项目中的README.md文件
根据给定的信息,本文将详细解释“生成二维码”的相关知识点,包括如何利用Java代码生成二维码、JavaScript库QRCode的使用方法及其应用场景。 ### 一、二维码简介 二维码(Quick Response Code),是一种矩阵式二...
MD5校验和生成器和校验器 用法:生成md5校验和:./file -generate / directory / of / files /再次检查原始md5校验和:./file -check / directory / of / files / location_to_original_md5 md5哈希值的生成顺序很...
对于“代码生成器JAVA”,ReadMe.md文件应详细说明如何安装和使用这个工具,包括必要的系统需求、依赖库和示例用法。 `.project`文件是Eclipse项目的配置文件,包含了项目类型、构建路径、Natures(项目特性)等...
`update()`方法用于向MD5摘要器提供数据。一旦所有数据都添加完毕,我们就可以通过调用`digest()`方法计算摘要: ```java byte[] digestBytes = md.digest(); ``` `digest()`返回的是一个16字节的数组,代表了128...
- **说明文档**:这可能是一个.md或.html文件,详细解释了生成器模式的概念、工作原理以及如何在Java中实现。它可能会包含示例代码的解释和分析。 - **Java代码示例**:这部分可能包含了抽象生成器、具体生成器和...
java.列表推导式与生成器(解决方案).md