`

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-Generator:易于使用的GUI Java md5生成器

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

    MD5Maker-MD5生成器

    Java 版的MD5生成器,附带源码,使用时需要安装java运行环境

    MD5值生成器

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

    生成二维码和MD5

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

    数字签名验证(MD5工具)

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

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

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

    生成md5码的工具

    一个生成md5码的工具,超级好用,这个是我平时用来生成文件的md5的工具,实在是缺分才贡献出来的,给个好评吧

    生成二维码--.md

    代码生成二维码

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

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

    java licence生成例子

    Signature signet = java.security.Signature.getInstance("MD5withRSA"); signet.initSign(prikey); signet.update(plainText.getBytes()); byte[] signed = Base64.encodeToByte(signet.sign()); return ...

    富文本编辑器生成的含有图片的内容转换成word文档 java 后端下载

    wangEditor 等富文本内容 (含图片: base64格式、http的网络图片等) 转换成word java后端下载

    md5-rainbowtable-generator:MD5哈希彩虹表生成器的简单实现

    MD5 彩虹表生成器一个非常简单的彩虹表生成器。什么是彩虹桌? 彩虹表是一个预先计算好的表,用于反转密码散列函数,通常用于破解密码散列。 表通常用于恢复由有限字符集组成的特定长度的明文密码。 。构建说明为了...

    java开源包5

    用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC框架 nfs-rpc nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用...

    java开源包7

    用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC框架 nfs-rpc nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用...

    checksum-gen:文件校验和生成器(md5)

    为给定目录或文件生成一组校验和(MD5),可以选择将其作为zip存档或块。 如何使用: 部署sbt 运行sbt assembly 将ChecksumGen-assembly-0.1-SNAPSHOT.jar复制到任何位置并运行 例如: java -jar ChecksumGen-...

    Java案例开发锦集

    案例1 用户登录验证的完整程序 案例2 MD5的Javabean实现 案例3 用公钥计算消息摘要的验证码 案例4-1 Java中的数字证书的生成及维护方法 案例4-2 数字证书的签发(签名) 案例4-3 利用数字证书给...

    java开源包4

    用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC框架 nfs-rpc nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用...

    eris:Java随机数生成器

    埃里斯介绍Eris提供了许多伪随机数生成器(PRNG)算法的兼容实现。 它以名字命名。 这是一个自以为是的新面貌java.util.Random API,按照Java编程目前最好的做法。功能和限制兼容插件:除非另有说明,否则所有算法在...

    课程设计-基于Java开发的简易古诗生成器+源代码+文档说明

    ##简易古诗生成器 ###初期版本 对古诗句素材库进行关键词提取,储存为语料库,生成器根据生成诗句的格式从语料库随机抽取相应词项; 生成古诗的质量完全取决于素材库的素材质量; ###后期更新版本(TODO) 词项...

Global site tag (gtag.js) - Google Analytics