一个实现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实现MD5加密以及解密,附带测试类,具体见代码。 Java实现MD5加密以及解密,附带测试类,具体见代码。 Java实现MD5加密以及解密,附带测试类,具体见代码。
实现MD5加密java文件
MD5算法源代码,java类型的,实此程序现了md5算法,能正确运行!
java 实现 MD5 加密 方法,java 实现 MD5 加密 方法,java 实现 MD5 加密 方法。
MD5算法的Java实现类,希望对你有用
md5加密java写法轻松实现md5让你学会加密,会的可以给点建议,不会的可以借鉴,大家讨论加密!很方便的使用!
java实现md5 加密解密(在网络中MD5是著名的不可逆算法,但是如果知道MD5的加密的字符串 则可以通过自己的加密算法对明文进行加密,对加密后的密文与字符串匹配; 匹配成功,表示找到明文;但是此程序的时间耗费较高!仅...
JAVA代码实现MD5编码,不调用任何第三方API-MD5 hash algorithm implemented by JAVA.
Java中实现Md5(32位)加密,此资源下载后可直接在程序中使用
MD5算法的简单实现。能够嵌套到各种java程序中
MD5和RSA加密算法Java完成实现,及实现RSA需要用的jar包。参见博文 http://blog.csdn.net/yanzi1225627/article/details/26508035
对接接口时用到的一种常用加密算法,常用于验证签名,使用shiro-all-1.4.1.jar,可自行下载
这是一个MD5算法的JAVA实现,将对应的包名修改一下即可
MD5java算法的实现
java中常用的工具类,用于MD5的加密,里面还有切割了MD5加密的长度,有DES加密与解密,并且配有main函数可测试,可以根据自己的实际情况使用main函数测试使用
java简单实现MD5加密demo,精简很多,一键生成MD5数据
java实现MD5加密解密算法,java源代码~
MD5的在实际应用中的作用,实质,及基本的原理,使用java实现MD5加密,代码实现并获得加密串。