자바에서 SHA1 또는 MD5를 사용하여 웹 페이지의 HTML 해시를 생성해야하지만 어떻게해야할지 모르겠다. 도와 주실 수 있습니까?자바에서 웹 페이지의 해시를 만들려면 어떻게해야합니까?
답변
라파엘 디 파지 : 당신은 문자열에서 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;
}
나는 그것이 도움이되기를 바랍니다. 그 질문이 올바른 방향인지 알려주십시오.
호랑이.
감사합니다. 이것이 내가 찾고 있었던 것입니다. 이 함수를 테스트하고 코드에 적용하려고합니다. – Raffo
DigestUtils.sha(String)
은 웹 페이지의 URI 또는 HTML에 대한 작업을 수행해야합니다. 문제의 일부인 경우 해당 URI에서 페이지의 HTML을 가져와야합니다. 그렇다면 Commons HttpClient to GET
페이지를 살펴 보시기 바랍니다.
네, 그렇지만 자바 표준 라이브러리는 아닙니다. 필요하지 않은 라이브러리를 사용하고 싶지 않습니다. – Raffo
이것이 제약 조건이라면 문제가되어야합니다. 또한 잘 정의 된 라이브러리에 이미 제공되어있는 것을 다시 구현하는 것이 필요성을 느끼지 않는 것처럼 보이기 때문에 필요한 것을 정의하십시오. –
외부 라이브러리를 사용할 수있는 제한 사항이 아니지만 표준 라이브러리를 사용하여 코딩을 수행 할 수 없는지 잘 모르겠습니다. 물론 잘 테스트 된 라이브러리를 사용하는 것이 더 낫지 만 Java API가 비슷한 것을 제공하는지는 알 수 없습니다. – Raffo
URL 해시? 또는 HTML? – Mez
죄송합니다. 잊어 버렸습니다 ... HTML의 해시가 필요합니다. – Raffo