Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako vytvoriť tajné kľúče v PHP

MD5 Message - Digest Algorithm je jednosmerný šifrovací algoritmus sa často používa pre vytváranie tajných kľúčov , ktoré sa nazývajú MD5 hashe . Vzhľadom k tomu , šifrovanie je jedným zo spôsobov , možno dva rôzne textové reťazce produkovať rovnaký MD5 hash , čo znamená , že nemôže dešifrovať . Existuje nekonečné množstvo spôsobov , ako produkovať rovnaký hash . Avšak , hackeri majú spôsoby , ako objavovať reťazca použité na vytvorenie hashe , takže sa oplatí vytvoriť im so starostlivosťou . PHP : Hypertext Preprocessor je programovací jazyk , ktorý podporuje MD5 a ďalšie šifrovacie algoritmy rovnako . Pokyny dovolená 1

Vytvorte soli reťazec , ktorý je unguessable reťazec slúžiaci na šifrovanie . Soľ reťazec bude použitý pre vytvorenie hashe , rovnako ako stanovenie ich platnosti . Jeden spôsob , ako vytvoriť dobrú soli reťazec je podľa miešať veľa náhodných znakov s funkciou md5 PHP . Výstupom funkcie je 32 - miestne hexadecimálne číslo , ktoré vám viac ako 3,40 x 10 ^ 38 možných kombinácií . Napríklad , sú niečo ako nasledujúci PHP kód :

$ salt = md5 ( " 4hJUd5sPP97hT " ) ;
2

Skombinujte text sa soľou reťazec s operátorom zreťazenie , čo je v skutočnosti období , a šifrovanie s funkciou MD5 . Napríklad , ak ste šifrovanie hesiel , typ :

$ heslo = " Us54EEh5R " ;

$ šifrovaná = md5 ( . $ Password $ soľ ) ;

" Dúha stoly " sú databázy používané k popraskaniu MD5 hashe , z ktorých najväčší majú medzi 10 a 20 miliárd záznamov . Aj keď databáza mala 100 miliárd odlišné MD5 hashe , to je menej ako jeden z 10 ^ 27 možných kombinácií . Ak sa kvapka vody je asi 1 /10 cm ^ 3 , bolo by to trvať asi 1,4 x 10 ^ 25 kvapiek vyplniť Oceány na Zemi . Preto , dúhové tabuľky činiť menej ako pokles vo všetkých oceánoch Zeme . Ak váš soľ reťazec je dobrá , tam je takmer žiadne šance šifrované hash v databáze . Dokonca aj keď jeden z databáz mali rovnaký hash reťazec použitý na vytvorenie by bolo odlišné od tej , v databáze , pretože nemôžu strácať cenné databázy miesto na nekonečných kombinácií MD5 - solené hesla . Tieto databázy budú po oveľa jednoduchšie ciele .
3

Overte hashe podľa potreby tým , že vytvorí hash , ako ste predtým a jej porovnaní s originálom . V prípade hesiel , ukladanie šifrovaných hesiel v databáze . Keď sa niekto pokúsi použiť heslo , zašifrovať heslo zadané so soľou , a porovnať ju s kópiou v databáze . Týmto spôsobom , aj správca databázy nepozná niektorá z hesiel . Napríklad typ :

$ encrypted_entry = md5 ( $ vstup $ soľ . ) ;

If ( $ encrypted_entry == $ šifrovaná ) $ platí = TRUE ;

iný $ platí = FALSE ;

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené