/* * * Copyright (c) 2013 - 2014 INT - National Institute of Technology & COPPE - Alberto Luiz Coimbra Institute - Graduate School and Research in Engineering. * See the file license.txt for copyright permission. * */ package util; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import org.apache.commons.codec.digest.DigestUtils; public class Digesto { private static String algoritmo = "MD5"; private Digesto() { } public synchronized static String gerarDigesto( String chave ) { if (chave == null) throw new NullPointerException("chave nao pode ser nula no digesto"); return stringHexa( gerarHash( chave.toString() ) ); } public static String gerarDigestoSHA1(String chave) { return DigestUtils.shaHex(chave); } public static String gerarDigestoMD5Correto(String chave) { return DigestUtils.md5Hex(chave); } private synchronized static byte[] gerarHash( String frase ) { try { MessageDigest md = MessageDigest.getInstance( algoritmo ); md.update( frase.getBytes() ); return md.digest(); } catch ( NoSuchAlgorithmException e ) { return null; } } private synchronized static String stringHexa( byte[] bytes ) { String s = new String(); for (int i = 0; i < bytes.length; i++) { s += Integer.toHexString((((bytes[i] >> 4) & 0xf) << 4) | (bytes[i] & 0xf)); } return s; } }