package com.seavision.qjculture.common;
/**
* MD5的算法在RFC1321 中定义
* 在RFC 1321中,给出了Test suite用来检验你的实现是否正确:
* MD5 ("") = d41d8cd98f00b204e9800998ecf8427e
* MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661
* MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72
* MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0
* MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b
*
* @author haogj
*
* 传入参数:一个字节数组
* 传出参数:字节数组的 MD5 结果字符串
*/
public class MD5 {
public static String getMD5(byte[] source) {
String s = null;
char hexDigits[] = { // 用来将字节转换成 16 进制表示的字符
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
try
{
java.security.MessageDigest md = java.security.MessageDigest.getInstance( "MD5" );
md.update( source );
byte tmp[] = md.digest(); // MD5 的计算结果是一个 128 位的长整数,
// 用字节表示就是 16 个字节
char str[] = new char[16 * 2]; // 每个字节用 16 进制表示的话,使用两个字符,
// 所以表示成 16 进制需要 32 个字符
int k = 0; // 表示转换结果中对应的字符位置
for (int i = 0; i < 16; i++) { // 从第一个字节开始,对 MD5 的每一个字节
// 转换成 16 进制字符的转换
byte byte0 = tmp[i]; // 取第 i 个字节
str[k++] = hexDigits[byte0 >>> 4 & 0xf]; // 取字节中高 4 位的数字转换,
// >>> 为逻辑右移,将符号位一起右移
str[k++] = hexDigits[byte0 & 0xf]; // 取字节中低 4 位的数字转换
}
s = new String(str); // 换后的结果转换为字符串
}catch( Exception e )
{
e.printStackTrace();
}
return s;
}
public static void main( String xu[] )
{ // 计算 "a" 的 MD5 代码,应该为:0cc175b9c0f1b6a831c399e269772661
System.out.println( MD5.getMD5("qjCultureHr".getBytes()) );
}
}
分享到:
- 2008-03-28 11:51
- 浏览 3043
- 评论(1)
- 论坛回复 / 浏览 (1 / 7015)
- 查看更多
相关推荐
java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密方法 java Md5加密...
java Md5加密方法 java Md5加密方法java Md5加密方法 java Md5加密方法java Md5加密方法 java Md5加密方法java Md5加密方法 java Md5加密方法java Md5加密方法 java Md5加密方法java Md5加密方法 java Md5加密方法...
Java Md5加密工具类
C# MD5加密类型支持:1-16位的加密;2-32位加密;3:base64加密对应JAVA md5 16位的加密;2-32位加密;3:base64加密
使用MD5加密,用这个类就可以了,非常好的MD5类。
根据提供的部分Java代码片段,我们可以看出这是一个简单的MD5算法实现类`MD5`,其主要功能包括初始化MD5上下文、更新散列值、计算最终的MD5值并将其转换为十六进制字符串表示形式。 1. **初始化MD5上下文 (`md5Init...
以下是一个简单的Java MD5加密工具类示例: ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5Util { private static final String MD5 = "MD5"; ...
java中常用的工具类,用于MD5的加密,里面还有切割了MD5加密的长度,有DES加密与解密,并且配有main函数可测试,可以根据自己的实际情况使用main函数测试使用
1. **导入必要的包**:首先需要导入`java.io.File`、`java.io.FileInputStream`、`java.io.IOException`以及`java.security.MessageDigest`等包,这些包提供了文件读取、异常处理和MD5加密所需的类和接口。...
md5加密java写法轻松实现md5让你学会加密,会的可以给点建议,不会的可以借鉴,大家讨论加密!很方便的使用!
实现MD5加密java文件
### Java_MD5加密工具类详解 #### 一、概述 在信息安全领域,数据加密是确保数据安全的重要手段之一。MD5(Message-Digest Algorithm 5)作为一种常用的散列算法,在许多场景下被用来生成固定长度的摘要信息。本文...
java与c#MD5加密方法得到不一致解决办法,MD5加密后得到不一致结果
md5的Java类文件,保证可用
MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能够将任意长度的数据转化为固定长度的输出,...以上所述的`Md5Java`类就是一个简单的示例,它提供了一个静态方法`encrypt`,可以直接用来加密字符串。
java实现md5 加密解密(在网络中MD5是著名的不可逆算法,但是如果知道MD5的加密的字符串 则可以通过自己的加密算法对明文进行加密,对加密后的密文与字符串匹配; 匹配成功,表示找到明文;但是此程序的时间耗费较高!仅...
MD5加密算法,主要对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。利用MD5算法来进行文件校验的方案被大量应用到软件下载站、论坛数据库、系统文件安全等方面。
下面是一个简单的Java MD5加密的代码示例,对应于你提供的`TestMD5.java`文件: ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class TestMD5 { public ...
java中的MD532位加密。将java类放入项目中,使用encrypByMd5静态方法即可生成hex_md5 32位加密的字符串。