Forum und email
Mhash funkce

LXXXVI. Mhash funkce

Úvod

Tyto funkce jsou určeny pro práci s mhash. Mhash lze použít pro vytvoření kontrolních součtů, otisků zpráv, autentizačních kódů zpráv atd.

Toto je rozhraní ke knihovně mhash. mhash podporuje širokou škálu hash algoritmů jako např. MD5, SHA1, GOST a mnoho jiných. Kompletní seznam podporovaných hash algoritmů naleznete v dokumentaci knohovny mhash. Obecné pravidlo je, že k hash algoritmu lze z PHP přistupovat přes MHASH_NÁZEVHASHE. Například pro hash TIGER použijte PHP konstantu MHASH_TIGER.

Požadavky

Pokud chcete tyto funkce používat, stáhněte si mhash distribuci z jeho webových stránek a postupujte podle přiložených instrukcí k instalaci.

Instalace

K aktivaci tohoto modulu budete muset zkompilovat PHP s volbou --with-mhash. DIR je instalační adresář mhash.

Konfigurace běhu

Toto rozšíření nemá definováno žádné konfigurační direktivy.

Typy prostředků

Toto rozšíření nemá definován žádný typ prostředku (resource).

Předdefinované konstanty

Tyto konstanty jsou definovány tímto rozšířením a budou k dispozici pouze tehdy, bylo-li rozšíření zkompilováno společně s PHP nebo dynamicky zavedeno za běhu.

Zde je seznam hashů podporovaných mhashem v současné době. Pokud zde není některý hash jmenován, ale v dokumentaci mhashe je uveden jako podporovaný, můžete bezpečně předpokládat, že je tato dokumentace zastaralá.

  • MHASH_MD5

  • MHASH_SHA1

  • MHASH_HAVAL256

  • MHASH_HAVAL192

  • MHASH_HAVAL160

  • MHASH_HAVAL128

  • MHASH_RIPEMD160

  • MHASH_GOST

  • MHASH_TIGER

  • MHASH_CRC32

  • MHASH_CRC32B

Příklady

Příklad 1. Vypočítat MD5 otisk a hmac a vypsat je v hexadecimálním tvaru

<?php
$input
= "what do ya want for nothing?";
$hash = mhash (MHASH_MD5, $input);
print
"Hash je ".bin2hex ($hash)."<br />\n";
$hash = mhash (MHASH_MD5, $input, "Jefe");
print
"Hmac je ".bin2hex ($hash)."<br />\n";
?>

This will produce:

Hash je d03cb659cbf9192dcd066272249f8412 
Hmac je 750c783e6ab0b503eaa86e310a5db738

Obsah
mhash_count -- Získat nejvyšší dostupné hash id
mhash_get_block_size -- Získat velikost bloku určeného hashe
mhash_get_hash_name -- Získat název zadaného hashe
mhash_keygen_s2k -- Vygenerovat klíč
mhash -- Spočítat hash