La crittografia dei dati viene utilizzata nella maggior parte dei sistemi, poiché ci consente di effettuare informazioni illegibili ritenute È importante, ad esempio una password o il nome di un’immagine. Ecco perché in questo tutorial impareremo a crittografare in MD5 e SHA1 con Java.
Come crittografare in MD5 e SHA1 con Java?
Prima di iniziare è importante sapere che Un dato crittografato è irreversibile, ciò significa che i dati originali non possono essere ottenuti in alcun modo dal hash generato, ed è per questo che eseguiremo solo le funzioni che rendono la crittografia.
Ora possiamo Passa al codice sorgente, la seguente classe consente di crittografare una stringa usando i metodi statici MD5 e SHA1:
public class Hash {/* Retorna un hash a partir de un tipo y un texto */public static String getHash(String txt, String hashType) {try {java.security.MessageDigest md = java.security.MessageDigest.getInstance(hashType);byte array = md.digest(txt.getBytes());StringBuffer sb = new StringBuffer();for (int i = 0; i < array.length; ++i) {sb.append(Integer.toHexString((array & 0xFF) | 0x100).substring(1, 3));}return sb.toString();} catch (java.security.NoSuchAlgorithmException e) {System.out.println(e.getMessage());}return null;}/* Retorna un hash MD5 a partir de un texto */public static String md5(String txt) {return Hash.getHash(txt, "MD5");}/* Retorna un hash SHA1 a partir de un texto */public static String sha1(String txt) {return Hash.getHash(txt, "SHA1");}}
Ora per testare la classe precedente che possiamo fare quanto segue:
public static void main(String args) { System.out.println(Hash.md5("Hola Mundo!")); System.out.println(Hash.sha1("Hola Mundo!"));}