package test;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5 {
private static String md5(String input) {
if ((input == null) || (input.length() == 0)) {
return "D41D8CD98F00B204E9800998ECF8427E"; // 这个值是为了兼容C语言的DLL
// MD5值而存在
} else {
StringBuffer sb = new StringBuffer();
try {
MessageDigest algorithm = MessageDigest.getInstance("MD5");
algorithm.reset();
algorithm.update(input.getBytes());
byte[] md5 = algorithm.digest();
String singleByteHex = "";
for (int i = 0; i < md5.length; i++) {
singleByteHex = Integer.toHexString(0xFF & md5[i]);
if (singleByteHex.length() == 1) {
sb.append("0");
}
sb.append(singleByteHex.toUpperCase());
}
} catch (NoSuchAlgorithmException ex) {
ex.printStackTrace();
}
return sb.toString();
}
}
public static void main(String[] args) {
System.out.println(md5("1234"));
System.out.println(md5("12345"));
}
}
输出结果:
81DC9BDB52D04DC20036DBD8313ED055
827CCB0EEA8A706C4C34A16891F84E7B
ref:http://blog.csdn.net/jackxinxu2100/article/details/6160600
分享到:
相关推荐
在MATLAB中实现MD5算法,通常会涉及到以下几个核心步骤: 1. **初始化**: 初始化四个32位的变量A、B、C和D,它们代表了MD5算法的四个工作寄存器。初始值通常是固定的常量。 2. **处理消息块**: 将输入数据分块处理...
### Java中的MD5算法 #### 一、简介 ...总结来说,Java中实现MD5算法相对简单,但需要理解其背后的原理和应用场景。通过上述内容的学习,可以帮助开发者更好地掌握MD5算法在Java中的使用方法及其背后的原理。
在Java中实现MD5加密算法主要涉及以下几个知识点: 1. **MD5的基本原理**:MD5是一种单向哈希函数,它的主要特点是快速、高效,并且对于输入数据的微小改变会产生显著不同的输出。尽管MD5已经不再被认为是安全的,...
下面我们将详细讨论MD5算法以及如何在Java中实现它。 MD5算法的核心思想是通过一系列的数学运算(如位操作、加法、异或等)和循环,将输入的数据打乱并压缩成一个固定长度的摘要。这个过程是不可逆的,即无法通过MD...
这个"JAVA实现MD5算法.rar"压缩包包含了一个名为"MD5Util.java"的文件,我们可以从中学习如何在Java程序中实现MD5加密。 首先,MD5Util.java文件很可能定义了一个类`MD5Util`,这个类通常包含了一系列静态方法,以...
在Java中,我们可以使用`java.security.MessageDigest`类来实现MD5算法。以下是一个简单的示例代码: ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class...
在Java编程语言中,MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,主要目的是为了产生一个固定长度的、不可逆的数字摘要,常用于存储密码。MD5算法将任意长度的输入(也叫做预映射,pre-image)通过...
本文档提供了一个MD5算法的Java Bean实现,该实现遵循了RFC1321中定义的标准。 ### MD5算法原理 MD5算法的核心是将输入数据转换成一系列的16字节块,并通过四轮复杂的运算得到最终的摘要。每一轮运算中包含了不同...
#### 三、Java中实现MD5算法 在Java中,可以通过`java.security.MessageDigest`类来实现MD5算法。下面是对给定代码片段的详细解析: 1. **导入必要的类**: ```java import java.security.MessageDigest; ``` ...
在Java中实现MD5加密,可以使用`java.security.MessageDigest`类。下面是一个简单的示例代码,展示了如何使用Java标准库来计算字符串的MD5散列值: ```java import java.security.MessageDigest; import java....
MD5和RSA是两种在计算机安全领域广泛应用的...总之,MD5和RSA在Java中实现起来并不复杂,但它们在数据安全、身份验证、数字签名等方面扮演着至关重要的角色。理解并正确使用这些加密算法,对于保护数据安全至关重要。
### 基于JAVA技术的MD5加密算法的设计与实现 #### 1. MD5算法概述 MD5(Message-Digest Algorithm 5)是一种广泛应用于数字签名、电子商务、信息加密等领域的散列算法。它能够将任意长度的消息压缩成一个固定长度...
在Java中,MD5算法的实现主要依赖于`java.security.MessageDigest`类。下面我们将详细探讨MD5算法的原理、Java中的实现过程以及如何使用`MessageDigest`类。 MD5算法的核心思想是将输入数据进行多次迭代运算,包括...
在给出的压缩包文件中,`md.txt`可能包含了使用上述Java MD5实现计算出的哈希值,而`www.pudn.com.txt`可能是从网站pudn.com下载的资料,可能包含有关MD5算法的进一步信息或者示例代码。 MD-RBAC(Role-Based ...
标题中的“JAVA与C#一致的32位MD5加密方法”指的是在Java和C#这两种编程语言中实现相同32位MD5哈希的过程。由于MD5算法本身是标准的,理论上在任何支持MD5的编程语言中都应该得到相同的输出,不论是在Java还是C#中。...
在Java编程中,我们可以利用内置的`java.security.MessageDigest`类来实现MD5计算。首先,我们需要导入相关库: ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; ...
在Java中,MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它将任意长度的数据转化为固定长度的128位(16字节)的摘要值,通常以32位十六进制字符串的形式表示。MD5的主要用途是数据校验、密码存储等...
在Java中实现MD5,通常会用到`java.security.MessageDigest`类。下面是一个简单的MD5哈希计算的Java代码示例: ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; ...
总的来说,这三个文件提供了不同编程语言对MD5算法的实现,展示了如何在实际应用中计算和使用MD5哈希。理解这些实现有助于深入理解哈希函数的工作原理,对于进行数据验证、密码处理等任务至关重要。尽管MD5由于安全...