`
xzs603
  • 浏览: 32793 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

一个实现MD5的简洁的java类

阅读更多
<!---->
一个实现MD5的简洁的java类
Jagie 原创   更新:2003-11-19 08:34:38  版本: 1.0   
<!---->

关键词:md5


由于消息摘要唯一性和不可逆性的特点,所以不失为一种简单的常用的加密手段,比如你可以用md5来加密你的应用中的用户口令。
package cn.tisson.test;

import java.security.MessageDigest;

/**
 * <p>
 * Title:
 * </p>
 * <p>
 * Description:
 * </p>
 * <p>
 * Copyright: Copyright (c) 2003
 * </p>
 * <p>
 * Company:
 * </p>
 * 
 * @author unascribed
 * @version 1.0
 */

public class MD5Test {

	private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5",
			"6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };

	/**
	 * 转换字节数组为16进制字串
	 * 
	 * @param b
	 *            字节数组
	 * @return 16进制字串
	 */

	public static String byteArrayToHexString(byte[] b) {
		StringBuffer resultSb = new StringBuffer();
		for (int i = 0; i < b.length; i++) {
			resultSb.append(byteToHexString(b[i]));
		}
		return resultSb.toString();
	}

	private static String byteToHexString(byte b) {
		int n = b;
		if (n < 0)
			n = 256 + n;
		int d1 = n / 16;
		int d2 = n % 16;
		return hexDigits[d1] + hexDigits[d2];
	}

	public static String MD5Encode(String origin) {
		String resultString = null;

		try {
			resultString = new String(origin);
			MessageDigest md = MessageDigest.getInstance("MD5");
			resultString = byteArrayToHexString(md.digest(resultString
					.getBytes()));
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		return resultString;
	}

	public static void main(String[] args) {
		System.err.println(MD5Encode("a"));
	}
}

 在RFC 1321中,给出了Test suite用来检验你的实现是否正确:

MD5 ("") = d41d8cd98f00b204e9800998ecf8427e
MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661
MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72
MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0
MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b


参考资料:《java security handbook》 jamie jaworski

分享到:
评论

相关推荐

    MD5算法的Java实现类

    在Java中,实现MD5算法通常涉及到`java.security.MessageDigest`这个类。这个类提供了一种标准的方式来计算各种消息摘要,包括MD5。 下面我们将详细讨论MD5算法以及如何在Java中实现它。 MD5算法的核心思想是通过...

    实现MD5加密java文件

    实现MD5加密java文件

    java MD5加密工具类

    Java中实现MD5加密的步骤: 1. 引入相关库:Java标准库中已经包含了`java.security.MessageDigest`类,可以用于MD5加密。 2. 创建MessageDigest实例:`MessageDigest.getInstance("MD5")`获取MD5实例。 3. 更新数据...

    JAVA代码实现MD5编码

    在Java中,我们可以使用`java.security.MessageDigest`类来创建一个MD5实例。但根据题目要求,我们需要自己实现这个过程。这涉及到以下步骤: 1. **初始化**: 创建一个`byte[]`数组,用于存储中间计算结果,MD5的...

    使用java实现MD5算法的代码

    MD5算法源代码,java类型的,实此程序现了md5算法,能正确运行!

    md5用java实现代码

    在Java中,实现MD5加密通常用于数据校验、密码存储等方面。下面我们将详细探讨MD5在Java中的实现方式以及相关知识点。 首先,我们需要引入Java Cryptography Extension (JCE)库,它是Java平台标准版的一部分,提供...

    Java MD5加密工具类(支持多参数输入)

    Java工具类,它不仅实现了MD5加密,更创新性地接纳String... inputStrs,让你能一次性加密多个字符串。 1. 一键加密,多值无忧 告别繁杂,拥抱简洁。我们的Java MD5加密工具类以String... inputStrs为武器,打破了...

    java实现MD5加密方法

    java 实现 MD5 加密 方法,java 实现 MD5 加密 方法,java 实现 MD5 加密 方法。

    Md5.java.rar_MD5 JAVA_MD5.ja_java md5_md5_md5 java realization

    在标题"Md5.java.rar_MD5 JAVA_MD5.ja_java md5_md5_md5 java realization"中,我们可以推测这个压缩包包含了一个名为"Md5.java"的源代码文件,这是一个实现了MD5算法的Java类。MD5 JAVA可能指的是这个Java实现是...

    MD5和RSA加密算法Java完成实现

    在Java中,可以使用`java.security.MessageDigest`类来实现MD5哈希计算。以下是一个简单的示例: ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5...

    Java实现MD5加密解密

    Java实现MD5加密以及解密,附带测试类,具体见代码。 Java实现MD5加密以及解密,附带测试类,具体见代码。 Java实现MD5加密以及解密,附带测试类,具体见代码。 Java实现MD5加密以及解密,附带测试类,具体见代码。

    MD5的Java Bean实现

    在Java中实现MD5主要涉及到`java.security.MessageDigest`类,这个类提供了一系列的方法来计算消息摘要,包括MD5、SHA-1等算法。 以下是一个简单的MD5 Java Bean实现的概述: 1. **Java Bean基础**: - Java Bean...

    MD5的JAVA实现代码

    然而,提供的代码片段展示了一个自定义的MD5实现。 这个MD5类包含了一些核心的算法组成部分,包括以下几个方面: 1. **S11-S44矩阵**:这是MD5算法中四个轮转换的参数,它们定义了每一轮中不同步骤的位移量。这些...

    MD5-java版

    MD5,全称为Message-Digest Algorithm 5,是一种广泛使用的哈希..."MD5-mask"可能是这个工具类的源代码文件,通过查看这个文件,我们可以学习如何在Java中实现MD5加密,或者直接在项目中引入这个类以快速实现MD5功能。

    java实现MD5加密算法

    总结,Java实现MD5加密算法主要是通过`java.security.MessageDigest`类,经过`getInstance("MD5")`获取MD5实例,然后使用`digest()`和`update()`方法处理数据,最终将二进制摘要转换为十六进制字符串。尽管MD5的安全...

    JAVA实现MD5算法.rar

    这个"JAVA实现MD5算法.rar"压缩包包含了一个名为"MD5Util.java"的文件,我们可以从中学习如何在Java程序中实现MD5加密。 首先,MD5Util.java文件很可能定义了一个类`MD5Util`,这个类通常包含了一系列静态方法,以...

    md5加密java写法轻松实现md5让你学会加密,会的可以给点建议,不会的可以借鉴,大家讨论加密!很方便的使用!

    md5加密java写法轻松实现md5让你学会加密,会的可以给点建议,不会的可以借鉴,大家讨论加密!很方便的使用!

    Md5加密java

    MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能够将任意长度的数据转化为固定长度的输出,...以上所述的`Md5Java`类就是一个简单的示例,它提供了一个静态方法`encrypt`,可以直接用来加密字符串。

    MD5算法java的实现

    在Java中,我们可以使用`java.security.MessageDigest`类来实现MD5算法。以下是一个简单的示例代码: ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class...

Global site tag (gtag.js) - Google Analytics