반응형

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5 {

/**
* MD5 암호화
* @param str
* @return
*/
public static String md5(String str) {
StringBuffer sb = new StringBuffer();
try {
MessageDigest md5 = MessageDigest.getInstance("MD5");
md5.update(str.getBytes());
byte[] md5encrypt = md5.digest();
for(int i = 0; i < md5encrypt.length; i++) {
sb.append(Integer.toHexString((int)md5encrypt[i] & 0xFF));
}
} catch(NoSuchAlgorithmException e) {
System.out.println("암호화 에러 ==>> " + e.toString());
}
return sb.toString();
}

}

 

 

MD5란??

MD5는 역으로 해석이 불가능한 '단방향 32비트' 암호화 방식의 함수이다.

즉, 역함수가 존재하지 않는 'Hash'함수이다.

예를들어 'AAA'란 값을 MD5로 암호화 시키면, 'e1faffb3e614e6c2fba74296923386b7'값이 나온다.

해당 값은 역추적이 불가능 하게 되어 있다.

 

MD5 이용

비밀번호 등의 암호화가 필요한 정보를 입력할 때 자주 사용한다.

즉, 비밀번호를 입력한 개인만 알 수 있고 디비에 입력된 값은 관리자 조차도 알 수 없게 된다.

그리고 특정 정보를 호출할 때 해킹의 위험의 있다면, MD5 암호를 이용해서 해킹으로 방지할 수도 있다.

반응형

'Programming > Java' 카테고리의 다른 글

URL 읽어오기  (0) 2015.12.14
디렉토리내 일정기간 지난 파일 삭제  (0) 2015.12.14
디렉토리내 특정 파일 리스트 출력  (0) 2015.12.14
[Java]특정날짜 요일 구하기  (0) 2015.12.14
날짜 구하기  (0) 2015.12.11



Posted by 궁극의 java개발자
,