Ricavare hash di una stringa con Java
|
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(); } } }