MD5简介以及java代码实现
来源:互联网 发布:知乎Nba力量 编辑:程序博客网 时间:2024/05/10 06:37
MD5简介:
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。
MD5算法的特点:
压缩性:任意长度的数据,算出MD5值长度都是固定的;
容易计算:从原数据计算出MD5值很容易;
抗修改性:对原数据进行任何改动,哪怕只修改一个字节,所得到的MD5值都有很大的区别;
强抗碰撞:想得到两个具有相同MD5值得数据是非常困难的;
不可逆性:MD5加密是不可逆的,一个字符串对应唯一的MD5值,但一个MD5值对应多个字符串;
MD5的应用:
一致性校验:对一段信息产生信息摘要,以防止被篡改。用于下载文件完整性的校验。
数字签名:对一段Message产生fingerprint(指纹),以防止被篡改。
安全访问认证:操作系统的登陆验证以及各类网站、系统的登陆验证。
MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。
MD5的java实现:
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。
MD5算法的特点:
压缩性:任意长度的数据,算出MD5值长度都是固定的;
容易计算:从原数据计算出MD5值很容易;
抗修改性:对原数据进行任何改动,哪怕只修改一个字节,所得到的MD5值都有很大的区别;
强抗碰撞:想得到两个具有相同MD5值得数据是非常困难的;
不可逆性:MD5加密是不可逆的,一个字符串对应唯一的MD5值,但一个MD5值对应多个字符串;
MD5的应用:
一致性校验:对一段信息产生信息摘要,以防止被篡改。用于下载文件完整性的校验。
数字签名:对一段Message产生fingerprint(指纹),以防止被篡改。
安全访问认证:操作系统的登陆验证以及各类网站、系统的登陆验证。
MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。
MD5的java实现:
package zjm.md5.test;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class MD5_Verify {//得到32位的加密结果public static String encrypt(String str){MessageDigest md;try {md = MessageDigest.getInstance("MD5");byte[] str_byte = str.getBytes(); byte[] md5_result_byte = md.digest(str_byte);//System.out.println(md5_result_byte);//System.out.println("字节数组的长度是:"+md5_result_byte.length);String md5_result = bytesToHex(md5_result_byte);return md5_result;} catch (NoSuchAlgorithmException e) {e.printStackTrace();return null;}}//将字节数组转化为16进制字符串public static String bytesToHex(byte[] bytes) {StringBuffer md5str = new StringBuffer();//把数组每一字节换成16进制连成md5字符串int digital;for (int i = 0; i < bytes.length; i++) { System.out.println(", "+bytes[i]); digital = bytes[i];if(digital < 0) { //16及以上的数转16进制是两位digital += 256;}if(digital < 16){md5str.append("0");//如果是0~16之间的数的话则变成0X}md5str.append(Integer.toHexString(digital));}return md5str.toString().toUpperCase();}public static void main(String[] args) {String str = "123";if(encrypt(str)!=null){String result = encrypt(str);System.out.println("加密结果为"+result);}}}
0 0
- MD5简介以及java代码实现
- MD5简介与代码实现
- MD5简介与代码实现
- MD5简介与代码实现
- JAVA代码实现MD5加密算法
- Java MD5代码实现分析
- MD5的JAVA实现代码
- Java实现MD5加密以及解密类,附带测试类,具体见代码。
- java 实现字符串以及文件的md5、sha计算完整代码
- Java实现MD5加密以及解密
- Java.Web - MD5 Java 实现代码
- MD5加密简介以及C#下的操作实现
- md5加密(java 代码实现)
- 用java代码实现MD5加密
- md5加密(java 代码实现)
- simHash 简介以及java实现
- SimHash简介以及java实现
- simHash 简介以及 java 实现
- IE条件注释
- 5张对比图告诉你,天地图,高德地图,百度地图,谷歌地图区别
- OpenCV 2.4.8 +VS2010的开发环境配置
- jquery JSON的解析方式
- objc直接通过指针访问对象实例变量
- MD5简介以及java代码实现
- 从其他表字段值更新
- 工作日志--servicemain编译
- 关于Android4.4的图片路径获取,如果回来的Uri的格式有两种
- C++内存操作
- PHP学习笔记(九):substr、explode
- ISO的7 层模型
- 高仿微信实现左滑显示删除按钮功能
- AOSP5.0换8G eMMC不能开机问题