一个实现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
分享到:
相关推荐
在Java中,实现MD5算法通常涉及到`java.security.MessageDigest`这个类。这个类提供了一种标准的方式来计算各种消息摘要,包括MD5。 下面我们将详细讨论MD5算法以及如何在Java中实现它。 MD5算法的核心思想是通过...
实现MD5加密java文件
Java中实现MD5加密的步骤: 1. 引入相关库:Java标准库中已经包含了`java.security.MessageDigest`类,可以用于MD5加密。 2. 创建MessageDigest实例:`MessageDigest.getInstance("MD5")`获取MD5实例。 3. 更新数据...
在Java中,我们可以使用`java.security.MessageDigest`类来创建一个MD5实例。但根据题目要求,我们需要自己实现这个过程。这涉及到以下步骤: 1. **初始化**: 创建一个`byte[]`数组,用于存储中间计算结果,MD5的...
MD5算法源代码,java类型的,实此程序现了md5算法,能正确运行!
在Java中,实现MD5加密通常用于数据校验、密码存储等方面。下面我们将详细探讨MD5在Java中的实现方式以及相关知识点。 首先,我们需要引入Java Cryptography Extension (JCE)库,它是Java平台标准版的一部分,提供...
Java工具类,它不仅实现了MD5加密,更创新性地接纳String... inputStrs,让你能一次性加密多个字符串。 1. 一键加密,多值无忧 告别繁杂,拥抱简洁。我们的Java MD5加密工具类以String... inputStrs为武器,打破了...
java 实现 MD5 加密 方法,java 实现 MD5 加密 方法,java 实现 MD5 加密 方法。
在标题"Md5.java.rar_MD5 JAVA_MD5.ja_java md5_md5_md5 java realization"中,我们可以推测这个压缩包包含了一个名为"Md5.java"的源代码文件,这是一个实现了MD5算法的Java类。MD5 JAVA可能指的是这个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主要涉及到`java.security.MessageDigest`类,这个类提供了一系列的方法来计算消息摘要,包括MD5、SHA-1等算法。 以下是一个简单的MD5 Java Bean实现的概述: 1. **Java Bean基础**: - Java Bean...
然而,提供的代码片段展示了一个自定义的MD5实现。 这个MD5类包含了一些核心的算法组成部分,包括以下几个方面: 1. **S11-S44矩阵**:这是MD5算法中四个轮转换的参数,它们定义了每一轮中不同步骤的位移量。这些...
MD5,全称为Message-Digest Algorithm 5,是一种广泛使用的哈希..."MD5-mask"可能是这个工具类的源代码文件,通过查看这个文件,我们可以学习如何在Java中实现MD5加密,或者直接在项目中引入这个类以快速实现MD5功能。
总结,Java实现MD5加密算法主要是通过`java.security.MessageDigest`类,经过`getInstance("MD5")`获取MD5实例,然后使用`digest()`和`update()`方法处理数据,最终将二进制摘要转换为十六进制字符串。尽管MD5的安全...
这个"JAVA实现MD5算法.rar"压缩包包含了一个名为"MD5Util.java"的文件,我们可以从中学习如何在Java程序中实现MD5加密。 首先,MD5Util.java文件很可能定义了一个类`MD5Util`,这个类通常包含了一系列静态方法,以...
md5加密java写法轻松实现md5让你学会加密,会的可以给点建议,不会的可以借鉴,大家讨论加密!很方便的使用!
MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能够将任意长度的数据转化为固定长度的输出,...以上所述的`Md5Java`类就是一个简单的示例,它提供了一个静态方法`encrypt`,可以直接用来加密字符串。
在Java中,我们可以使用`java.security.MessageDigest`类来实现MD5算法。以下是一个简单的示例代码: ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class...