De MD5 Message - Digest Algorithm Maak is een one -way encryptie-algoritme vaak gebruikt voor het maken van geheime sleutels die MD5 hashes worden genoemd . Omdat de encryptie is een manier , kan twee verschillende tekenreeksen dezelfde MD5 hash te produceren , wat betekent dat je niet kan ontcijferen. Er zijn een oneindig aantal manieren om dezelfde hash te produceren . Echter , hackers hebben manieren om het ontdekken van de snaren gebruikt voor de hashes te maken , dus het loont om ze te maken met zorg . PHP : Hypertext Preprocessor is een programmeertaal die MD5 en andere encryptie -algoritmen ondersteunt ook. Instructies 1 Maak een zout koord , dat is een niet te raden, tekenreeks die wordt gebruikt voor de codering . Het zout tekenreeks wordt gebruikt voor het creëren hashes en bepalen hun geldigheid . Een manier om een goede zout tekenreeks te maken is door versluiering een aantal willekeurige tekens met md5 functie van PHP . De output van de functie is een 32 - cijferig hexadecimaal getal , waardoor u meer dan 3,40 x 10 ^ 38 mogelijke combinaties . Bijvoorbeeld , omvatten zoiets als het volgende in uw PHP-code : $ salt = md5 ( " 4hJUd5sPP97hT " ) ; kopen van 2 Combineer de tekst met het zout string met de samenvoegingsoperator , dat is eigenlijk een periode , en coderen met de md5 functie . Bijvoorbeeld, als u het coderen van wachtwoorden , type: $ password = " Us54EEh5R " ; versleutelde = md5 ( . $ Wachtwoord $ salt ) $ ; " Rainbow tafels " zijn databases gebruikt voor het kraken MD5 hashes , waarvan de grootste plaats hebben tussen de 10 en 20 miljard inzendingen . Zelfs als een gegevensbank had 100.000.000.000 verschillende MD5 hashes , dat minder dan een op de 10 ^ 27 mogelijke combinaties . Als een druppel water is ongeveer 1/10 cm ^ 3 , zou het ongeveer 1,4 x 10 ^ 25 druppels nemen om de aardse oceanen te vullen . Daarom rainbow tables bedragen minder dan een druppel in alle oceanen van de aarde . Als uw zout snaar is goed, er is bijna geen kans de versleutelde hash is in een database . Zelfs als een van de databases had dezelfde hash , de tekenreeks gebruikt voor het maken het anders dan die in de database zijn, omdat ze waardevolle gegevensbank onvoldoende ruimte verspillen aan eindeloze combinaties MD5 - gezouten wachtwoorden . Die databases gaan na veel eenvoudiger doelen . 3 Controleer hashes als nodig is door het creëren van de hash als je voorheen deed en het te vergelijken met het origineel . Bij wachtwoorden Bewaar de versleutelde wachtwoorden in een database. Wanneer iemand probeert om een wachtwoord te gebruiken , versleutelen het wachtwoord ingevoerd met het zout , en vergelijk het met de kopie in de database . Zo wordt ook de database administrator niet een van de wachtwoorden . Typ bijvoorbeeld : $ encrypted_entry = md5 ( $ binnenkomst $ zout . ) ; If ( $ encrypted_entry == $ versleutelde ) $ geldig = TRUE ; anders $ geldig = FALSE ;
|