2009-08-06 2 views

답변

2

라파엘 디 파지 : 당신은 문자열에서 HashValue으로 MD5를 생성하기 위해이 기능을 사용할 수 있습니다

; 예 :

String hashValue = MD5Hash("URL or HTML".getBytes()); 


    /** 
    * MD5 implementation as Hash value 
    * 
    * @param a_sDataBytes - a original data as byte[] from String 
    * @return String as Hex value 
    * @throws NoSuchAlgorithmException 
    */ 

    public static String MD5Hash(byte[] dataBytes) throws NoSuchAlgorithmException { 
     if(dataBytes == null) return ""; 

     MessageDigest md = MessageDigest.getInstance("MD5"); 
     md.update(dataBytes); 
     byte[] digest = md.digest(); 

     // convert it to the hexadecimal 
     BigInteger bi = new BigInteger(digest); 
     String s = bi.toString(16); 
     if(s.length() %2 != 0) 
     { 
      s = "0"+s; 
     } 
     return s; 
    } 

나는 그것이 도움이되기를 바랍니다. 그 질문이 올바른 방향인지 알려주십시오.

호랑이.

+0

감사합니다. 이것이 내가 찾고 있었던 것입니다. 이 함수를 테스트하고 코드에 적용하려고합니다. – Raffo

1

DigestUtils.sha(String)은 웹 페이지의 URI 또는 ​​HTML에 대한 작업을 수행해야합니다. 문제의 일부인 경우 해당 URI에서 페이지의 HTML을 가져와야합니다. 그렇다면 Commons HttpClient to GET 페이지를 살펴 보시기 바랍니다.

+1

네, 그렇지만 자바 표준 라이브러리는 아닙니다. 필요하지 않은 라이브러리를 사용하고 싶지 않습니다. – Raffo

+2

이것이 제약 조건이라면 문제가되어야합니다. 또한 잘 정의 된 라이브러리에 이미 제공되어있는 것을 다시 구현하는 것이 필요성을 느끼지 않는 것처럼 보이기 때문에 필요한 것을 정의하십시오. –

+0

외부 라이브러리를 사용할 수있는 제한 사항이 아니지만 표준 라이브러리를 사용하여 코딩을 수행 할 수 없는지 잘 모르겠습니다. 물론 잘 테스트 된 라이브러리를 사용하는 것이 더 낫지 만 Java API가 비슷한 것을 제공하는지는 알 수 없습니다. – Raffo

관련 문제