zoukankan      html  css  js  c++  java
  • MD5加密实例

    package test1;

    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;

    public class MD5 {
    private static final int SIZE = 2;
    private static final int KeyConstant = 64;
    private static final int CORPSCHAR = 0xff;

    private MD5() {
    }

    private static String toHex(byte[] bytesArray) {
    StringBuffer strBuf = new StringBuffer(KeyConstant);
    String str = "";
    for (byte b : bytesArray) {
    str = Integer.toHexString(b & CORPSCHAR);
    if (str.length() < SIZE) {
    strBuf.append('0');
    }
    strBuf.append(str);
    }
    return strBuf.toString();
    }

    public static void main(String[] args) {
    String s = "summer_heart";
    String r = "summer_heart";
    String m = "summer";
    MessageDigest md;
    try {
    md = MessageDigest.getInstance("MD5");
    md.update(s.getBytes());
    System.out.println("s = " + toHex(md.digest()));
    md.update(r.getBytes());
    System.out.println("r = " + toHex(md.digest()));
    md.update(m.getBytes());
    System.out.println("m = " + toHex(md.digest()));
    } catch (NoSuchAlgorithmException e) {
    e.printStackTrace();
    }
    }
    }

    我写了三条测试数据,想看看是不是同一字符串产生的加密字符串是不是想通的,或则如果部分相同的字符串产生的加密字符串是不是也有部分相同

    s = f0e1270827c7e09f723843716b2da363
    r = f0e1270827c7e09f723843716b2da363
    m = 6b1628b016dff46e6fa35684be6acc96


    结果显而易见。。。

    ps:目前就MD5加密,理论上是破解不了的,目前要破解只能通过暴力破解,那样得花费很长时间,而且都是收费的,不过国内有一女的似乎在破解MD5加密方面有点成功,不管怎样,MD5总有一天会被破解,到时候又会有别的加密方式出现。


  • 相关阅读:
    场景调研
    12.8
    12.7
    12.6
    12.5
    12.4
    12.3
    重启oracle数据库的操作方法
    oracle创建dblink方法
    SQL*Loader 详解
  • 原文地址:https://www.cnblogs.com/xiaxinggege/p/2297866.html
Copyright © 2011-2022 走看看