MD5 hash 雜湊演算法__java

來源:互聯網
上載者:User

package com.mkyong.test; import java.io.FileInputStream;import java.security.MessageDigest; public class MD5CheckSumExample {    public static void main(String[] args)throws Exception    {        MessageDigest md = MessageDigest.getInstance("MD5");        FileInputStream fis = new FileInputStream("c:\\loging.log");         byte[] dataBytes = new byte[1024];         int nread = 0;         while ((nread = fis.read(dataBytes)) != -1) {          md.update(dataBytes, 0, nread);        };        byte[] mdbytes = md.digest();         //convert the byte to hex format method 1        StringBuffer sb = new StringBuffer();        for (int i = 0; i < mdbytes.length; i++) {          sb.append(Integer.toString((mdbytes[i] & 0xff) + 0x100, 16).substring(1));        }         System.out.println("Digest(in hex format):: " + sb.toString());         //convert the byte to hex format method 2        StringBuffer hexString = new StringBuffer();    for (int i=0;i<mdbytes.length;i++) {    String hex=Integer.toHexString(0xff & mdbytes[i]);        if(hex.length()==1) hexString.append('0');        hexString.append(hex);    }    System.out.println("Digest(in hex format):: " + hexString.toString());    }}




public class MD5Hash {  public ThreadLocal<MessageDigest> local = new ThreadLocal() {    protected MessageDigest initialValue() {      try {        return MessageDigest.getInstance("MD5"); } catch (NoSuchAlgorithmException e) {      }      throw new IllegalStateException("MD5 Algorithm is not found");    }  };  public long hash(byte[] value)  {    MessageDigest md5 = (MessageDigest)this.local.get();    md5.reset();    md5.update(value);    byte[] bKey = md5.digest();    long res = (bKey[3] & 0xFF) << 24 |       (bKey[2] & 0xFF) << 16 |       (bKey[1] & 0xFF) << 8 | bKey[0] & 0xFF;    return res;  }}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.