2010년 8월 7일 토요일

Oracle 사용자(회원) 비밀번호 암호화 하기

ex) getMD5("1234") = 81dc9bdb52d04dc20036dbd8313ed055

 

 /**
  * Turns array of bytes into string representing each byte as
  * a two digit unsigned hex number.
  * @param hash Array of bytes to convert to hex-string
  * @return  Generated hex string
  */
 private static String toHex(byte hash[]){
  StringBuffer buf = new StringBuffer(hash.length * 2);
  for (int i=0; i   int intVal = hash[i] & 0xff;
   if (intVal < 0x10){
    // append a zero before a one digit hex
    // number to make it two digits.
    buf.append("0");
   }
   buf.append(Integer.toHexString(intVal));
  }
  return buf.toString();
 }
 
 /**
  * Gets the MD5 hash of the given byte array.
  * @param b byte array for which an MD5 hash is desired.
  * @return 32-character hex representation the data's MD5 hash.
  */
 public static String getMD5String(byte[] b){
  String javaPackageMD5="";
  try{
   byte[] javaDigest = MessageDigest.getInstance("MD5").digest(b);
   javaPackageMD5 = toHex(javaDigest);
  }catch(Exception ex){
  }
  return javaPackageMD5;
 }
 
 /**
  * 단방향 암호화 처리(String)
  * @param str
  * @return
  */
 public static String getMD5(String str) {
  byte[] byteString = str.getBytes();
  return getMD5String(byteString);
 }

댓글 없음:

댓글 쓰기