NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.

hash - Český PHP manuál

Funkce hash již dle svého názvu slouží k zahashování určitého řetězce. Proces hashování vytvoří v 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. Teorii okolo hashování bude věnován samostatný článek.

Parametry

Algoritmus hashe (např. 'md5' nebo 'sha512'). Dále hodnota k zahashování. Posledním nepovinným parametrem můžeme přepnout binární data (true) a hexadecimální data (false, výchozí).

Návratová hodnota

Hash daného řetězce.

Příklad

<?php
echo hash('sha512', 'moje tajné heslo' . 'moje_sůl');

Výstup:

fd0f826a721460283ec5bd1fa76b7a38243b5538a796528999479b0802593ceb9061491b2d03449ee16cd8e21ca8272f577f7bc92e1000e898c67c05ef873f3b

Algoritmus sha je jeden z nejlepších, md5 a podobné jsou dnes již poměrně nebezpečné.

Seznam algoritmů:

Algoritmus 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

 

Všechny články v sekci
Textové řetězce - Český PHP manuál
Článek pro vás napsal David Hartinger
Avatar
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David se informační technologie naučil na Unicorn University - prestižní soukromé vysoké škole IT a ekonomie.
Aktivity