Je dois créer le hachage d'un html d'une page Web (à partir de son URL) en utilisant SHA1 ou MD5 en java, mais je ne sais pas comment le faire ... pouvez-vous m'aider?Comment puis-je créer le hachage d'une page Web dans Java?
Répondre
Raffaele Di Fazio:
vous pouvez utiliser cette fonction pour générer MD5 comme valeur de hachage de la chaîne; par exemple,
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;
}
J'espère que cela aide. S'il vous plaît, laissez-nous savoir si c'est la bonne direction pour cette question.
Tigre.
Merci, c'est ce que je cherchais. Je vais tester cette fonction et essayer de l'adapter à mon code. – Raffo
DigestUtils.sha(String)
devrait faire le travail pour l'URI ou le HTML de la page Web, bien qu'il soit sur vous pour obtenir le code HTML de la page de son URI si cela fait partie du problème. Si oui, vous voudrez peut-être regarder en utilisant Commons HttpClient to GET
la page.
Oui, ce sera le cas, mais ce n'est pas la bibliothèque standard Java. Je ne veux pas utiliser une bibliothèque qui ne soit pas nécessaire. – Raffo
Si c'est une contrainte, ça devrait être dans la question. En outre, définir nécessaire, car réimplémentation quelque chose qui est déjà fourni dans une bibliothèque bien testée semble être la hauteur de l'inutilité. –
Ce n'est pas une contrainte Je peux utiliser des bibliothèques externes, mais je ne suis pas sûr que je ne puisse pas le faire en utilisant la bibliothèque standard et juste un peu de codage. Bien sûr, vous avez raison d'utiliser une bibliothèque bien testée, mais je ne sais pas si l'API Java offre quelque chose de similaire .. – Raffo
Un hachage de l'URL? ou du HTML? – Mez
Je suis désolé je l'ai oublié ... J'ai besoin du hash du html. – Raffo