elgio
(usa OpenSuSE)
Enviado em 26/01/2009 - 17:55h
hash puro, tem o sha1, sha2 e sha3.
Confesso que não pesquisei realmente o poder de cada um, mas pelo que pude observar, o que se chama de sha1, sha2 e sha3...
O que vi é que o meu SUSE, nos aplicativos de linha de comando, possui:
sha1sum
sha224sum
sha256sum
sha384sum
sha512sum
(nossa! um hash de 512 bits é realmente uma estupidez em termos de força bruta. 256 bits simétrico já é considerado de segurança eterna quanto a força bruta)
O gnupg versão 2.0.9 também:
$ gpg --version
gpg (GnuPG) 2.0.9
Copyright (C) 2008 Free Software Foundation, Inc.
Supported algorithms:
Pubkey: RSA, ELG, DSA
Cipher: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2
Used libraries: gcrypt(1.4.0)
Então, estamos já bem além do sha1 com seus 160 bits!
E a biblioteca mhash do php (no suse tu instala o pacote php5-mhash) já possui TODOS eles:
$senha="teste123";
$sha= strtoupper(bin2hex( mhash(MHASH_SHA1, $senha) ));
printf ("%-15s %s\n", "Sha1 (160b):", "$senha = $sha");
$senha="teste123";
$sha= strtoupper(bin2hex( mhash(MHASH_SHA224, $senha) ));
printf ("%-15s %s\n", "Sha224:", "$senha = $sha");
$sha= strtoupper(bin2hex( mhash(MHASH_SHA256, $senha) ));
printf ("%-15s %s\n", "Sha256:", "$senha = $sha");
$sha1= strtoupper(bin2hex( mhash(MHASH_SHA512, $senha) ));
printf ("%-15s %s\n", "Sha512:", "$senha = $sha");