Как я могу создать хеш веб-страницы в Java?
Вопрос
Мне нужно создать хеш HTML-кода веб-страницы (из ее URL-адреса), используя SHA1 или MD5 в Java, но я не знаю, как это сделать...Вы можете помочь мне?
Решение
Раффаэле Ди Фацио:
вы можете использовать эту функцию для генерации MD5 как HashValue из строки;например,
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;
}
Я надеюсь, что это помогает.Пожалуйста, дайте нам знать, если это правильное направление для этого вопроса.
Тигр.
Другие советы
DigestUtils.sha(String)
должен выполнить работу для URI или HTML веб-страницы, хотя вы должны получить HTML страницы из ее URI, если это часть проблемы.Если это так, вы можете рассмотреть возможность использования Commons HttpClient для GET
страница.
Не связан с StackOverflow