MD5 도구 클래스 (자바 구현 판)

2638 단어 java-se
MD5 도구 클래스 (자바 구현 판)
소개 하 다.
MD5(Message Digest Algorithm)             ,        ,            ,
       。        Hash  (      )。

MD5 알고리즘 은 다음 과 같은 특징 을 가지 고 있 습 니 다.
1、   :       ,   MD5        。
2、    :       MD5    (    )
3、    :          ,     1   ,    MD5       。
4、    :       MD5 ,         MD5    (     )      。
5、       

자바 코드 구현
Md5Utils
/**
 * 
 * MD5    (   hash    ,   )
 * 
 * @author xuyi3
 * @2016 7 13  @  3:10:54
 * @Md5Utils
 * @    :
* @ * @ */ public class Md5Utils { /** 16 */ private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" }; /** * * * @param source * * @param encoding * * @param uppercase * * @return */ public static String MD5Encode(String source, String encoding, boolean uppercase) { String result = null; try { result = source; // MD5 MessageDigest messageDigest = MessageDigest.getInstance("MD5"); // messageDigest.update(result.getBytes(encoding)); // messageDigest.digest() 16 result = byteArrayToHexString(messageDigest.digest()); } catch (Exception e) { e.printStackTrace(); } return uppercase ? result.toUpperCase() : result; } /** * 16 * * @param bytes * * @return */ private static String byteArrayToHexString(byte[] bytes) { StringBuilder stringBuilder = new StringBuilder(); for (byte tem : bytes) { stringBuilder.append(byteToHexString(tem)); } return stringBuilder.toString(); } /** * byte 16 * * @param b * byte * @return 16 */ private static String byteToHexString(byte b) { int n = b; if (n < 0) { n = 256 + n; } int d1 = n / 16; int d2 = n % 16; return hexDigits[d1] + hexDigits[d2]; } } // : apache commones Codec

총결산
MD5                      ,          。               
                 ,               MD5            ,   
     (        )   RSA             。

좋은 웹페이지 즐겨찾기