MD5 키 생성 - bami74/me GitHub Wiki

자바,오라클 한글까지 동일한 MD5 키 생성

자바 - 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 키 생성|작성자 너의나라

⚠️ **GitHub.com Fallback** ⚠️