LVI. Mhash Functions

Estas funções tem a intenção de funcionar com mhash.

Esta é uma interface para a biblioteca mhash. mhash suporta uma grande variedade de algoritmos hash como MD5, SHA1, GOST e vários outros.

Para usalas, faça o download da distribuição mhash do web site deles e siga as instruções de instalação inclusas. Você precisará compilar o PHP com o parametro --with-mhash para habilitar esta extensão.

Mhash pode ser usado para criar checksums, message digests, códigos de autenticação e mais.

Exemplo 1. Computar o MD5 digest e hmac e imprimir como hex

<?php
$input = "o que você quer por nada?";
$hash = mhash (MHASH_MD5, $input);
print "A hash é ".bin2hex ($hash)."\n&lt;br>";
$hash = mhash (MHASH_MD5, $input, "Jefe");
print "A hmac é ".bin2hex ($hash)."\n&lt;br>";
?>

Este código irá produzir:
A hash é d03cb659cbf9192dcd066272249f8412 
A hmac é 750c783e6ab0b503eaa86e310a5db738

Para uma lista completa de hashes suportadas, refira-se para a documentação do mhash. A regra geral é que você pode acessar o algoritmo hash do PHP com MHASH_HASHNAME. Por exemplo, para accessar TIGER se usa a constante do PHP MHASH_TIGER.

Aqui está a lista de hashes que são atualmente suportadas por mhash. Se uma hash não está listada aqui, mas é listada por mhash como suportada, você pode com seguranca presumir que esta documentação está desatualizada.

  • MHASH_MD5

  • MHASH_SHA1

  • MHASH_HAVAL256

  • MHASH_HAVAL192

  • MHASH_HAVAL160

  • MHASH_HAVAL128

  • MHASH_RIPEMD160

  • MHASH_GOST

  • MHASH_TIGER

  • MHASH_CRC32

  • MHASH_CRC32B

Índice
mhash_count -- Ler o mais alto hash id disponível
mhash_get_block_size -- Ler o tamanho do bloco da hash específicada
mhash_get_hash_name -- Ler o nome da hash especificada
mhash_keygen_s2k -- Gerar uma chave
mhash -- Computar a hash