MD5 키 생성 - bami74/me GitHub Wiki
자바 - MessageDigest 이용 오라클 10g - NLS_CHARACTERSET : KO16KSC5601 NLS_NCHAR_CHARACTERSET : AL16UTF16 환경일 때, 한글까지 동일하게 md5 해쉬 키 값을 얻으려면 아래와 같이 할 수 있다. 자바, jsp charset encoding이 EUC-KR계 이고, 이 문자열을 UTF-8로 변환한 다음, MessageDigest로 MD5를 생성하고 그것을 그대로 읽으면 문자로 처리하기 곤란하니, hex(16진수)코드로 읽는다.
public String md5(String p_string) throws Exception
{
//새로운 salt를 생성한다.
MessageDigest md = MessageDigest.getInstance("MD5");
md.reset();
md.update(p_string.getBytes("UTF-8"));
byte messageDigest[] = md.digest();
StringBuffer hexs = new StringBuffer();
for (int i=0;i<messageDigest.length;i++)
{
hexs.append(Integer.toHexString(0xFF & messageDigest[i]));
}
return hexs.toString();
}동일한 것을 오라클의 있는 SYS.DBMS_OBFUSCATION_TOOLKIT.MD5 를 이용하여 구현하면,
CREATE OR REPLACE FUNCTION MD5(P_INPUT IN VARCHAR2) RETURN VARCHAR2 IS
BEGIN
RETURN LOWER(UTL_RAW.cast_to_raw(SYS.DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => CONVERT(P_INPUT,'UTF8'))));
END MD5;[출처] 자바,오라클 한글까지 동일한 MD5 키 생성|작성자 너의나라