1. 程式人生 > >MD5加密簡單實現方法

MD5加密簡單實現方法

工具/原料

  • myeclipse

方法/步驟

  1. 建立MD5加密類,編寫加密方法

    1、

    import java.security.MessageDigest;

    import java.security.NoSuchAlgorithmException;

    import java.util.Scanner;

    public class MD5 {

        public static String getPwd(String pwd) {

            try {

                // 建立加密物件

                MessageDigest digest = MessageDigest.getInstance("md5");

                // 呼叫加密物件的方法,加密的動作已經完成

                byte[] bs = digest.digest(pwd.getBytes());

  2. 2、銜接(1)

     // 接下來,我們要對加密後的結果,進行優化,按照Oracle的優化思路走

                // Oracle的優化思路:

                // 第一步,將資料全部轉換成正數:

                String hexString = "";

                for (byte b : bs) {

                    // 第一步,將資料全部轉換成正數:

                    int temp = b & 255;

                    // 第二步,將所有的資料轉換成16進位制的形式

                    // 注意:轉換的時候注意if正數>=0&&<16,那麼如果使用Integer.toHexString(),可能會造成缺少位數

                    // 因此,需要對temp進行判斷

                   if (temp >= 0&&temp < 16 ) {

                       // 符合條件,手動補上一個“0”

                       hexString = hexString + "0" + Integer.toHexString(temp);

                   } else {

                       hexString = hexString + Integer.toHexString(temp);

                  }

               }

               return hexString;

            } catch (NoSuchAlgorithmException e) {

               // TODO Auto-generated catch block

               e.printStackTrace();

            }

            return "失敗";

        }

  3. 3、建立測試類、測試方法

      public static void main(String[] args) {

       Scanner input=new Scanner(System.in);

       System.out.println("請輸入密碼:");

             String pwd = MD5.getPwd(input.next());

             System.out.println("MD5值:");

            System.out.println(pwd);

}