segunda-feira, 27 de junho de 2011

Gerando Hash Base64 a partir de um MD5 com a biblioteca do JBoss

Muitas vezes precisamos gerar um hash de algum tipo de dado, geralmente uma String. Aqui fiz um exemplo que utiliza o MD5 para gerar um hash e em seguida usa a biblioteca do JBoss para adequar o hash gerado no que chamamos de Base64. Assim teremos um hash mais limpo e de tamanho reduzido em relação ao MD5. Para a biblioteca do JBOSS, clique aqui!

package br.com.dougpinheiro.security.hash;

import java.io.IOException;

import java.security.MessageDigest;

import java.security.NoSuchAlgorithmException;

import org.jboss.security.Base64Encoder;

public class HashFactory {

    public static String hash(byte[] data_in){

        String string_out = "";

        try {

            MessageDigest md = MessageDigest.getInstance("MD5");

            string_out = Base64Encoder.encode(md.digest(data_in));           

        } catch (NoSuchAlgorithmException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        }

        return string_out;

    }

    public static void main(String[] args) {

        HashFactory hf = new HashFactory();

        System.out.println(hf.hash("Fulano".getBytes()));

    }

}

Abraço!
Douglas Pinheiro

Nenhum comentário: