MD5 压缩算法
来源:互联网 发布:人工智能学派 编辑:程序博客网 时间:2024/06/06 02:50
importjava.security.MessageDigest;
/*
* 传入参数:一个字节数组传出参数:字节数组的 MD5结果字符串
*/
publicclassMD5 {
publicstaticString getMD5(String str) {
String s = null;
// 用来将字节转换成十六进制表示的字符
// char[] hexDigits = { '0', '1', '2', '3', '4', '5','6', '7', '8',
// '9', 'a', 'b', 'c', 'd', 'e', 'f' };
try{
MessageDigest md = MessageDigest.getInstance("MD5");
//MD5加密算法只是对字符数组而不是字符串进行加密计算,得到要加密的对象
md.update(str.getBytes());
//MD5 的计算结果是一个 128 位的长整数,用字节表示就是 16 个字节
//进行加密运算并返回字节数组
bytetmp[] = md.digest();
StringBuilder sb = newStringBuilder();
//字节数组转换成十六进制字符串,形成最终的密文
for (int i = 0; i < tmp.length; i++) {
intvalue = tmp[i] & 0xff;
if(value < 16) {
sb.append(0);
}
sb.append(Integer.toHexString(value));
//取字节中高 4位的数字转换,>>>为逻辑右移,将符号位一起右移
// sb.append(hexDigits[value >>> 4 &0xf]);
//取字节中低 4位的数字转换
// sb.append(hexDigits[value & 0xf]);
}
s = sb.toString();
} catch(Exception e) {
e.printStackTrace();
}
returns;
}
/**
* @paramargs
*/
publicstaticvoidmain(String[] args) {
// byte[] name = { 'Z', 'h', 'o', 'u', 'S', 'h', 'e','n', 'g', 's',
// 'h', 'u', 'a', 'i' };
String name = "Zhou Shengshuai";
String md5name = null;
md5name = MD5.getMD5(name);
System.out.println(md5name);
}
}
- MD5 压缩算法
- MD5压缩算法心得
- MD5压缩算法
- MD5压缩算法介绍
- MD5算法
- MD5 算法
- MD5算法
- MD5 算法
- MD5算法
- MD5算法
- MD5算法
- md5 算法
- MD5算法
- MD5算法
- MD5算法
- MD5算法
- md5算法
- MD5算法
- 你若安好
- Linux下计算程序运行时间
- springmvc Spring3 MVC @ResponseBody返回,jquery ajax调用中文乱码问题解决
- 如何在Microwindows中显示图片和安装字体
- 关于Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)的问题
- MD5 压缩算法
- eclipse CDT Unresolved inclusion
- JAVA 测时
- C++---基础篇(数组)
- C#内存管理
- 对bootstrap$、数据字典结构信息和open相关性的研究
- 开源项目之android-wifi-tether(网络共享软件)
- aspx net.2.0 C#获取IP,URL,浏览器,操作系统
- 淡淡的微笑,静悄悄地过