博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MD5-总结
阅读量:4596 次
发布时间:2019-06-09

本文共 1794 字,大约阅读时间需要 5 分钟。

MD5:

参考:  http://baike.baidu.com/link?url=VhzMlvINaFcUPRTZg3ZEp27QL1c1ISmTzW8uGuNnH4MMsp5KVvShh8zEgMu-TnzfG7uWQNJp9QUIzhkMUTvY6q

       http://blog.sina.com.cn/s/blog_6b275753010161t3.html

在线工具:http://www.md5.com.cn/

定义:Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。

MD5算法具有以下特点:
1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
2、容易计算:从原数据计算出MD5值很容易。
3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
4、弱抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
5、强抗碰撞:想找到两个不同的数据,使它们具有相同的MD5值,是非常困难的。
 
MD5的作用是让大容量信息在用 软件签署私人 前被" "成一种保密的格式(就是把一个任意长度的字节串变换成一定长的 数字串)。除了MD5以外,其中比较有名的还有 、 以及 等。
Java:
import java.security.MessageDigest;/** * Created by bochao.lbc on 2015/9/3. * * @describe */public class MD5Util {    public final static String MD5(String s) {        char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};        try {            byte[] btInput = s.getBytes();            // 获得MD5摘要算法的 MessageDigest 对象            MessageDigest mdInst = MessageDigest.getInstance("MD5");            // 使用指定的字节更新摘要            mdInst.update(btInput);            // 获得密文            byte[] md = mdInst.digest();            // 把密文转换成十六进制的字符串形式            int j = md.length;            char str[] = new char[j * 2];            int k = 0;            for (int i = 0; i < j; i++) {                byte byte0 = md[i];                str[k++] = hexDigits[byte0 >>> 4 & 0xf];                str[k++] = hexDigits[byte0 & 0xf];            }            return new String(str);        } catch (Exception e) {            e.printStackTrace();            return null;        }    }    public static void main(String[] args) {        System.out.println(MD5Util.MD5("20121221"));        System.out.println(MD5Util.MD5("加密"));    }

 

转载于:https://www.cnblogs.com/lance-/p/4780433.html

你可能感兴趣的文章
双态运维分享之:业务场景驱动的服务型CMDB
查看>>
cocos2dx-3.6 触摸,键盘,聚焦事件
查看>>
JEECG中t:dictSelect的extendJson用法
查看>>
web开发下的各种下载方法
查看>>
第六章 堆排序 6.5 优先队列
查看>>
Linux搭建我的世界服务器
查看>>
数据库之范式
查看>>
译文 [ROM][多国语言][2015.06.11] Lenovo S750 (MTK6589) - andrea_d86-lenovos750-4.2.2
查看>>
租用游艇问题
查看>>
如何修改SharePoint 2010默认的任务通知邮件的格式?
查看>>
单用户模式下连接被占用定位spid
查看>>
Django JWT
查看>>
云推送注意(MSDN链接)
查看>>
条件编译解决AutoCAD多版本问题
查看>>
java的Integer与int的比较
查看>>
openstack安装文档
查看>>
正在改变世界的硅谷创业趋势
查看>>
No2_3.接口继承多态_Java学习笔记_多态
查看>>
[转] 体内湿气重怎样祛除
查看>>
C#多线程学习(五) 多线程的自动管理(定时器)
查看>>