• MD5-总结


    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以外,其中比较有名的还有sha-1RIPEMD以及Haval等。
    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("加密"));
        }
  • 相关阅读:
    2032 杨辉三角
    2023 求平均成绩
    幸运数
    扑克牌大小
    single-number
    合唱队
    Problem A: 【字符串】最长回文子串
    Problem A: 最大连续子序列
    数串
    02CSS3基本语法05
  • 原文地址:https://www.cnblogs.com/lance-/p/4780433.html
Copyright © 2020-2023  润新知