본문 바로가기
[프로그래밍]/BackEnd

JAVA에서 MD5 변환

by control+c 2018. 9. 7.
반응형


/**
* 문자열을 MD-5 방식으로 암호화
*
* @param str 암호화 하려하는 문자열
* @return String
*/
public String getEncMD5(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) + 0x100, 16).substring(1));
}

MD5 = sb.toString();

} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
MD5 = null;
}

return MD5;
}


이렇게 사용해야지 다른 언어 PHP등에서 md5()한것과 같은 값이 나온다. 

이종언어간 md5()를 이용한다면 꼭 Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1)를 이용하도록 한다. 


반응형

댓글