Java实现MD5消息摘要算法
来源:互联网 发布:betterment mac 编辑:程序博客网 时间:2024/05/21 09:37
首先,必须强调一点,MD5不是加密算法,确切的说是一种消息摘要算法,具有不可逆性。通俗的讲,字符串、文件等通过MD5处理后,可以生成一个固定长度为128位的二进制串。(通常将其转换成16进制字符串,可以用于密码校验等)
加密算法和消息摘要算法有何区别?
1、加密算法具有相应地解密算法,通过加密算法对信息进行加密后,采用解密算法能够获取到原始数据。
2、采用摘要算法得到的数据是不完整的,无法反向获取到原始数据。
MD5作用:
1、一致性校验,系统登录、注册等。
2、数字签名,可以将MD5生成的串看成一个指纹。
Java实现MD5摘要算法:
package demo;import java.security.MessageDigest;public class MD5 { // test public static void main(String[] args) { System.out.println(getMD5Code("shanghai")); System.out.println(getMD5Code("beijing")); System.out.println(getMD5Code("shanghai")); } private MD5() { } // md5加密 public static String getMD5Code(String message) { String md5Str = ""; try { MessageDigest md = MessageDigest.getInstance("MD5"); byte[] md5Bytes = md.digest(message.getBytes()); md5Str = bytes2Hex(md5Bytes); }catch(Exception e) { e.printStackTrace(); } return md5Str; } // 2进制转16进制 public static String bytes2Hex(byte[] bytes) { StringBuffer result = new StringBuffer(); int temp; try { for (int i = 0; i < bytes.length; i++) { temp = bytes[i]; if(temp < 0) { temp += 256; } if (temp < 16) { result.append("0"); } result.append(Integer.toHexString(temp)); } } catch (Exception e) { e.printStackTrace(); } return result.toString(); }}
运行结果:
22638a3131d0f0a7346b178fd29f939c0420a206ae8b77b60f314a33b38c875a22638a3131d0f0a7346b178fd29f939c
end.
0 0
- Java实现MD5消息摘要算法
- Java MD5消息摘要算法
- MD5 消息摘要算法
- 用Java实现MD5消息摘要
- Java Md5 消息摘要
- MD5摘要算法实现
- 消息摘要算法及md5
- Java学习笔记:java中MD5消息摘要算法
- HMAC-SHA1和MD5 消息摘要算法(java)
- Java 实现MD5消息摘要和RSA数字签名:
- Java消息摘要算法
- 消息摘要 —— MD5算法
- MD5消息摘要的C++实现
- 信息摘要算法实现之MD5算法
- java消息摘要算法加密
- java消息摘要算法加密
- java消息摘要算法加密
- Java消息摘要算法加密
- java 图形用户界面
- NSNotificationCenter模式
- 【Java学习-J.160601.0.20】Servlet生命周期
- Android进程分类与管理
- 二分查找,你真的掌握了吗?
- Java实现MD5消息摘要算法
- 数据结构_P14
- Android不依赖Activity的全局悬浮窗实现
- CodeForces 101D Castle(树形dp)
- java 计算器小程序
- php图片处理
- 算法系列(十一)BASE64算法实现和使用说明
- css设计立体文字
- python网络爬虫学习(五) 模拟登陆北邮信息门户并爬取信息