Criptografia em 3 linhas

Fonte: http://jchrisos.wordpress.com/2008/03/26/criptografia-em-3-linhas/

Olá pessoal!!!

Todos sabem como é importante uma aplicação ter segurança, tanto ela sendo para web, desktop, dispositivos móveis, etc. Por isso existem vários conceitos de segurança de software e um deles é a criptografia. Para saber mais sobre criptografia clique aqui e segurança da informação clique aqui. Neste post mostrarei um exemplo de como criptografar uma senha utilizando o algoritmo MD5.

Eu já vi muitos tutoriais ensinando como criptografar informações, mas todos faziam uma implementação horrível, utilizavam arrays de bytes que depois cada elemento era tranformado em um valor hexadecimal e mais outras coisas. A classe no final tinha 20 a 30 linhas, lembrando até aqueles tutoriais ou livros de Java 1.2!!

Como eu não estava contente com essas implementações, dei uma fuçada no google e achei uma implementação que é muito simples. Essa implementação tem três linhas de código e gera o mesmo resultado dos monstrengos de 30 linhas.

Segue o código:


import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class TesteCriptografia {

public static void main(String[] args) throws NoSuchAlgorithmException {

String input = "123456";

MessageDigest md = MessageDigest.getInstance("MD5");
BigInteger hash = new BigInteger(1, md.digest(input.getBytes()));
String output = hash.toString(16);

System.out.println(output.toUpperCase());

}

}

Quando é referenciada uma instância de MessageDigest é necessário tratar a exception NoSuchAlgorithmException, porque pode ser lançada caso seja passado um algoritmo que não exista, por exemplo MDiii5. Mas pra que você vai colocar um algoritmo que não exista?!

Eu testei a mesma senha nesta e em mais 2 implementações diferentes e todas deram o mesmo resultado. Então esta é uma implementação que trabalha da mesma forma trazendo os mesmos resultados, porém de uma implementação muito mais simples.

Até o proximo post!

Anúncios

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s