sábado, 6 de agosto de 2011

Dicas e truques: Um pouco sobre Criptografia..

Todo mundo quer proteger a senha na hora do login usar um método seguro de criptografia, mas, qual é o melhor ?
Nenhum!
Esse post não defende qual é o melhor, simplesmente falaremos os tipos existentes e suas características, como desenvolvo em PHP nesse artigo há comandos e referencias do mesmo, então vamos lá:
Vamos começar com um dos comandos chamado de hash() ele é descritro no php como:
"Motor Digestor de Mensagem (hash). Permite o processamento direto ou incremental de mensagens de comprimento arbitrário usando uma variedade de algorítimos de hash."
Na pratica isso funciona assim:

hash ( 'md5' ,'helpdesk nerd');
é o comando('tipo de encriptação','texto a ser encriptado');

Se executarmos esse comandos por com um echo o resultado será:

715c23c54656ab3605db5eb96cc63d85

Para saber os tipos de hash que podem ser usador digite:

print_r(hash_algos());

Ele retornara uma matriz impressa com todos os hash permitidos essa função foi anexada no PHP 5.1.2.
Agora que sabemos como executar o comando que criptografa a string desejada vamos conhecer alguns tipos de hash

MD5: Message-Digest algorithm 5 (havendo versões anteriores como 4,3...) é um algoritmo de hash de 128 bits unidirecional desenvolvido pela RSA Data Security, Inc., descrito na RFC 1321, e muito utilizado por softwares com protocolo par-a-par (P2P, ou Peer-to-Peer,Kazaa,Ares por exemplo), verificação de integridade e logins. Existem alguns métodos de ataque divulgados para o MD5
MD6 entra em ação em 2012 pelo menos é o que dizem

SHA:(Secure Hash Algorithm) Desenvolvido pelo NIST e NSA ainda há mais alguns tipos como:
sha224/sha256 sendo possivel até 32 caracteres e retornando uma criptografia de 64.
sha384/512 é possivel escrever até 64 caracteres e retornando uma criptografia de 80.

WHIRLPOOL: desenvolvida pelo prof. Vincent Rijmen (belga) e o Prof. Paulo S. L. M. Barreto (brasileiro). A função foi recomendada pelo projeto New European Schemes for Signatures, Integrity and Encryption (NESSIE) (Europeu).
O Whirlpool é um pouco mais lento que o SHA-512 e, conseqüentemente, mais “entrópico”, ou seja: mais seguro.

Conclusão
há hashs com maior complexabilidade e outros não tão, mas, se você opta por complexibilidae pode acabar prejudicando seu sistema por conta de dados quem são simplesmente transitivos e não afetam diretamente o proprietário por outro lado sistemas com hash vagos como base64 que não sitei são bem vulneráveis e não indicados para procedimento de segurança.

obs: há também base64 entre outros mas, não achei tão interessante sitar mas vale uma busca no google e nas fontes abaixo.

Um comentário: