MD5 도구 클래스 (자바 구현 판)
                                            
 2638 단어  java-se
                    
소개 하 다.
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             。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MO_혹은 String 에 대한 깨 달 음코로나 19 사태 에 맞 서 싸우다 열사 와 돌아 가신 동포 들 이 희생 된 것 을 깊이 애도 하 다 머리말 총화 2.1 String 2.2 StringBuilder 2.3 StringBuffer 2.4 사용 필드 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.