Crea sito

Ricavare hash di una stringa con Java

|di Andrea Fallico
Per ricavare l'hash di una stringa (con l'algoritmo MD5 o SHA-1) bisogna utilizzare la classe java.security.MessageDigest.
Ecco un esempio:

Codice:
import java.security.MessageDigest;
import java.nio.charset.*;
public class JavaMessageDigest{
	public static void main(String[]args){

		String str = "stringa di prova";
		System.out.println("MD5: " + hashCode(str, "MD5"));

		System.out.println("SHA-1: " + hashCode(str, "SHA-1"));
	}
	private static String hashCode(String stringa, String algoritmo){

		try{
			MessageDigest md = MessageDigest.getInstance(algoritmo);
			if(Charset.isSupported("CP1252"))

				md.update(stringa.getBytes(Charset.forName("CP1252")));
			else
				md.update(stringa.getBytes(Charset.forName("ISO-8859-1")));

			byte[]bytes = md.digest();
			StringBuilder str = new StringBuilder();
			for(int i = 0; i < bytes.length; i++)

				str.append(Integer.toHexString( ( bytes[i] & 0xFF ) | 0x100 ).substring(1, 3));

			return str.toString();
		}
		catch(Exception e){
			return "Errore: " + e.getMessage();

		}
	}
}
 
hash, md5, sha1, MessageDigest, java

Condividi

Required

Required

Optional

Optional

BB Code/Smilies

Error CodeCaptcha ReloadDevi utilizzare i caratteri maiuscoli.
La vocale "O" è esclusa.