php

Použití hašovacích funkcí v PHP

Použití hašovacích funkcí v PHP
Zabezpečení dat je pro každou aplikaci velmi důležité. Neoprávněný přístup k datům může poškodit cenná data aplikace. Pokud lze data zabezpečit pomocí správného šifrování, lze zabránit neoprávněnému přístupu k datům. Například heslo nového uživatele vyžaduje před uložením do databáze šifrování, aby se snadno zabránilo neoprávněnému přístupu uživatele. Jedním ze způsobů šifrování je použití hashovací funkce. V PHP existuje mnoho integrovaných hash funkcí pro šifrování dat. Šifruje data beze změny jejich původního významu. Některé běžně používané hashovací funkce PHP jsou md5 (), sha1 () a hash (). Použití těchto funkcí je vysvětleno v tomto kurzu.

Funkce md5 ()

Funkce md5 () používá pro šifrování algoritmus Message-Digest. Tato funkce vypočítá hodnotu hash md5 původní hodnoty. Syntaxe této funkce je uvedena níže.

Syntax:

řetězec md5 (řetězec $ řetězec, [bool $ raw])

Tato funkce může mít dva argumenty. První argument je povinný, který se používá k převzetí hodnoty řetězce, která bude šifrována. Druhý argument je volitelný, který se používá k uložení jakékoli logické hodnoty. Funkce vrací 32bitové šestnáctkové číslo, pokud není použit volitelný argument, a vrací 16bitové šestnáctkové číslo, pokud je volitelná hodnota TRUE.

Příklad: Použití md5 ()

Následující příklad ukazuje použití md5 () funkce pro šifrování jakýchkoli dat. Vytvořte soubor PHP s následujícím skriptem, abyste zjistili, jak tato funkce funguje.

Ve scénáři, $ original_string proměnná se používá k uložení hodnoty řetězce, která je později zašifrována pomocí md5 () funkce. Po provedení skriptu se vytiskne původní hodnota i zašifrované hodnoty.

// Definujte hodnotu řetězce
$ original_string = 'LinuxHint';
// Vytiskne původní hodnotu
ozvěna "

Původní údaje:

". $ original_string;
// Šifrování hodnoty řetězce
$ encrypted_string = md5 ($ original_string);
// Vytiskne zašifrovanou hodnotu
ozvěna "

Šifrovaná data po použití md5 ():

$ encrypted_string ";
?>

Výstup:
Po spuštění skriptu ze serveru se zobrazí následující výstup. Ve funkci md5 () se nepoužívá žádný volitelný argument. Výstup tedy zobrazuje jako výstup 32bitová hexadecimální čísla.

funkce sha1 ()

Tato funkce používá pro šifrování algoritmus Secure Hash Algorithm 1. Syntaxe této funkce je uvedena níže.

Syntax:

řetězec sha1 (řetězec $ řetězec, [bool $ raw])

Tato funkce může mít dva argumenty, jako je hashovací algoritmus md5 (). První argument přebírá hodnotu řetězce, která bude šifrována. Volitelný argument přebírá jakoukoli booleovskou hodnotu. Pokud není předán žádný volitelný argument, vrátí funkce hexadecimální číslo o délce 40 znaků. Pokud je volitelná hodnota nastavena na TRUE, vrátí funkce surová binární data.

Příklad: Použití sha1 ()

Následující příklad ukazuje použití sha1 () funkce pro šifrování jakýchkoli dat. Vytvořte soubor PHP s následujícím skriptem, abyste zjistili, jak tato funkce funguje.

Ve scénáři, $ original_string proměnná se používá k uložení hodnoty řetězce, která je zašifrována později pomocí sha1 () funkce s volitelným argumentem a bez něj. Po provedení skriptu se vytiskne původní hodnota i zašifrované hodnoty.

// Definujte hodnotu řetězce
$ original_string = 'LinuxHint';
// Vytiskne původní hodnotu
ozvěna "

Původní údaje:

". $ original_string;
// Šifrování hodnoty řetězce
$ encrypted_string = sha1 ($ original_string);
// Vytiskne zašifrovanou hodnotu
ozvěna "

Šifrovaná data po použití sha1 ():

$ encrypted_string ";
// Šifrování hodnoty řetězce
$ encrypted_string2 = sha1 ($ original_string, TRUE);
// Vytiskne zašifrovanou hodnotu
ozvěna "

Šifrovaná data po použití sha1 () s volitelným argumentem:

$ encrypted_string2 ";
?>

Výstup:
Po spuštění skriptu ze serveru se zobrazí následující výstup. Zobrazuje hexadecimální číslo o 40 znacích, když v argumentu není použit žádný volitelný argument sha1 () Funkce a výstup zobrazuje nezpracovaná data, pokud je v hodnotě volitelného argumentu použito TRUE sha1 () funkce.

funkce hash ()

funkce hash () se používá ke generování hodnoty hash konkrétního řetězce na základě libovolného algoritmu hash. Syntaxe této funkce je uvedena níže.

řetězec nebo falešný hash (řetězec $ algoritmus, řetězec $ data [, bool $ binary = false])

Tato funkce může trvat tři argumenty. První argument přebírá název algoritmu, který bude použit ke generování hodnoty hash hodnoty řetězce uvedené v druhém argumentu. Třetí argument je volitelný. Tato funkce vrací malá hexadecimální čísla, pokud je volitelná hodnota false, a vrací nezpracovaná binární data, pokud je volitelná hodnota true. V PHP existuje mnoho hashovacích algoritmů, které generují hash data pomocí funkce hash (). hash_alogs () Pomocí funkce lze zjistit seznam existujících hash algoritmů.

Příklad: Použití hash ()

Následující příklad ukazuje použití funkce hash () ke generování hodnoty hash pomocí jakéhokoli konkrétního algoritmu hash. Vytvořte soubor PHP s následujícím skriptem, abyste zjistili, jak tato funkce funguje.

'ripemd160' algoritmus hash se používá ve funkci hash () ke generování hodnoty hash. Funkce hash () se používá s volitelným argumentem ve skriptu i bez něj. Po provedení skriptu se vytiskne původní hodnota i zašifrované hodnoty.

// Definujte hodnotu řetězce
$ original_string = 'LinuxHint';
// Vytiskne původní hodnotu
ozvěna "

Původní údaje:

". $ original_string;
// Šifrování hodnoty řetězce
$ encrypted_string = hash ('ripemd160', $ original_string);
// Vytiskne zašifrovanou hodnotu
ozvěna "

Šifrovaná data po použití hash ():

$ encrypted_string ";
// Šifrování hodnoty řetězce
$ encrypted_string2 = hash ('ripemd160', $ original_string, TRUE);
// Vytiskne zašifrovanou hodnotu
ozvěna "

Šifrovaná data po použití hash () s volitelným argumentem:

$ encrypted_string2 ";
?>

Výstup:
Po spuštění skriptu ze serveru se zobrazí následující výstup. Zobrazuje šestnáctkové číslo jako hodnotu hash, když se nepoužívá volitelný argument, a nezpracovaná data, když se volitelný argument používá ve funkci hash ().

Závěr

Důležitá data jsou vyžadována šifrováním pro vytvoření zabezpečení jakékoli webové aplikace. V tomto tutoriálu jsou ukázány různé způsoby šifrování dat pomocí více hash funkcí PHP. V tomto kurzu je vysvětleno použití tří integrovaných hash funkcí pro generování šifrovaných dat pomocí skriptu PHP.

Recenze bezdrátové myši Microsoft Sculpt Touch
Nedávno jsem četl o Microsoft Sculpt Touch bezdrátová myš a rozhodl se ji koupit. Po chvíli používání jsem se rozhodl se s ním podělit o své zkušenost...
Trackpad a ukazatel myši AppyMouse na obrazovce pro tablety Windows
Uživatelé tabletů často postrádají ukazatel myši, zejména když obvykle používají notebooky. Dotykové smartphony a tablety mají mnoho výhod a jediným o...
Střední tlačítko myši nefunguje ve Windows 10
The prostřední tlačítko myši pomáhá procházet dlouhé webové stránky a obrazovky se spoustou dat. Pokud se to zastaví, budete nakonec používat klávesni...