티스토리 뷰

IT/JAVA

[JAVA]MD5 사용하기

Kanzler 2016. 11. 18. 07:00

개발을 진행하다 보면 여러가지 암호화를 사용 하게 됩니다. 그중에서는 이번 포스팅에서는 MD5에 대해서 알아보도록 하겠습니다.

MD5는 128비트 암호화 해시 함수입니다. RFC 1321로 지정되어 있으며,단반향 암호화로 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사 등에 사용됩니다.

다만 처음 소개 된 이후 약 20년이 지난 시점에서 여러가지 보안 이슈가 발견되면서, 비밀번호등과 같은 중요한 개인정보에 사용은 피해야 합니다. 현재는 주로 네트워크로 전송된 큰 파일의 무결성을 확인하는데 주로 사용되고 있습니다.


아래 간단한 예제를 살펴 보도록 하겠습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public static String getMD5(String str)  {
        String MD5 = "";
        try{
            MessageDigest md = MessageDigest.getInstance("MD5");
            md.update(str.getBytes());
            byte byteData[] = md.digest();
            StringBuffer sb = new StringBuffer();
            for (int i = 0; i < byteData.length; i++) {
                sb.append(Integer.toString((byteData[i] & 0xff+ 0x10016).substring(1));
            }
            MD5 = sb.toString();
        }catch(Exception e){
            
        }
        return MD5;
    }
cs



위 함수를 통해 무결성 검사를 할 string을 파라미터로 넘겨준 후 리턴되는 MD5해시와 비교하는 방식으로 무결성을 확인 해 주면 됩니다.

댓글