java:MD5加密字串

來源:互聯網
上載者:User

備份一個小程式。利用MD5加密檔案,產生一個密文的來源程式。非常好用。

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.io.*;

public class EncryptUtil
{
 /**
  *
  * @param filePath The full path of the file
  * @return
  * @throws Exception
  */
 public static String encrypt(String filePath) throws Exception
 {
  String inStr = getString(filePath);
  MessageDigest md = null;
  String out = null;

  try
  {
   md = MessageDigest.getInstance("MD5");
   byte[] digest = md.digest(inStr.getBytes());
   out = byte2hex(digest);
  }
  catch (NoSuchAlgorithmException e)
  {
   e.printStackTrace();
   throw e;
  }

  return out;
 }

 private static String byte2hex(byte[] b)
 {
  String hs = "";
  String stmp = "";
  for (int n = 0; n < b.length; n++)
  {
   stmp = (java.lang.Integer.toHexString(b[n] & 0XFF));
   if (stmp.length() == 1)
   {
    hs = hs + "0" + stmp;
   }
   else
   {
    hs = hs + stmp;
   }
  }
  return hs.toUpperCase();
 }

 private static String getString(String filePath) throws Exception
 {
  StringBuffer sbuf = new StringBuffer();
  try
  {
   FileReader fr = new FileReader(filePath);
   BufferedReader br = new BufferedReader(fr);

   String Line = br.readLine();

   while (Line != null)
   {
    sbuf.append(Line);
    sbuf.append("/r/n");    
    Line = br.readLine();
   }
   br.close();
   fr.close();
  }
  catch (Exception e)
  {
   e.printStackTrace();
   throw e;
  }
  //System.out.println(sbuf.toString());
  
  return sbuf.toString().trim();
 }

 public static void main(String[] args) throws Exception
 {
  if(args.length > 0)
  {
   String result = null;
   try
   {
    result = encrypt(args[0]);
   }
   catch (Exception e)
   {
    e.printStackTrace();
   }
   System.out.println(args[0] + " : " + result);
   //System.out.println(args[1] + " : " + encrypt(args[1])); 
  }
  else
  {
   System.out.println("the file does not exist");
  }
 }
 
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.