PHP - hash
Třída
Metoda - hash
(PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1)
Funkce hash()
slouží k zahashování určitého řetězce.
Proces hashování vytvoří tzv. otisk (např. hesla), ze kterého nelze
získat původní hodnotu. Z bezpečnostních důvodů by server při
ověřování uživatele neměl znát jeho heslo, ale pouze jeho otisk. Jakmile
uživatel heslo zadá, vytvoří se jeho otisk a ten se porovná s otiskem
uloženým na serveru. Pokud souhlasí, bude uživatel přihlášen. Obvykle se
do funkce kromě samotného hesla ještě přidává tzv. sůl (salt) v podobě
nějakého konstantního řetězce.
Seznam algoritmů:
Algoritmus | Počet znaků |
md2 | 32 |
md4 | 32 |
md5 | 32 |
sha1 | 40 |
sha256 | 64 |
sha384 | 96 |
sha512 | 128 |
ripemd128 | 32 |
ripemd160 | 40 |
ripemd256 | 64 |
ripemd320 | 80 |
whirlpool | 128 |
tiger128,3 | 32 |
tiger160,3 | 40 |
tiger192,3 | 48 |
tiger128,4 | 32 |
tiger160,4 | 40 |
tiger192,4 | 48 |
snefru | 64 |
gost | 64 |
adler32 | 8 |
crc32 | 8 |
crc32b | 8 |
haval128,3 | 32 |
haval160,3 | 40 |
haval192,3 | 48 |
haval224,3 | 56 |
haval256,3 | 64 |
haval128,4 | 32 |
haval160,4 | 40 |
haval192,4 | 48 |
haval224,4 | 56 |
haval256,4 | 64 |
haval128,5 | 32 |
haval160,5 | 40 |
haval192,5 | 48 |
haval224,5 | 56 |
haval256,5 | 64 |
Algoritmus sha
je jeden z nejlepších, md5
a
podobné jsou dnes již poměrně nebezpečné.
Procedurální
- function hash (string $algo, string $data, bool $raw_output = false) : string
Parametry
Název | Datový typ | Výchozí hodnota | Popis |
---|---|---|---|
$algo | string | Algoritmus hashe (např. Seznam všech algoritmů je k dispozici níže. | |
$data | string | Hodnota k zahashování. | |
$raw_output | bool | false | Posledním nepovinným parametrem můžeme přepnout binární data (TRUE) a hexadecimální data (FALSE, výchozí). |
Návratové hodnoty
Vrací: string
Hash daného řetězce.
Příklady
<?php
echo hash('sha512', 'moje tajné heslo' . 'moje_sůl');
Související manuály
- function sha1 (string $str, bool $raw_output = false) : string