dat doet dit script ook alleen heeft het tijd nodig bij lange passwoorden maar het werkt perfect
<?php
$passwoord="..." ;//voer hier wat in zonder te vermelden wat even om het snel te doen een pass met 3 karakters zet dan de md5 codering op dit forum en ik zeg je welk w8woord het is hoofdletters cijfers en letters zijn toegestaan
$test = md5($passwoord);
echo $test
?>
ja. en hetgene dat je hiermee wil zeggen is.... *tromgeroffel*?[/quote]
Dat het het een hash is. Een hash is dus een soort vingerafdruk van rijtje bits. Deze vingerafdruk is relatief uniek voor iedere set van bits, echter, doordat er natuurlijk een oneindig veel sets aan verschillende bits kunnen bestaan, is het niet mogelijk om voor iedere string een unieke hash te maken.
Een md5 hash gebruikt 32 posities met ( 26 + 10) 36 mogelijkheden. Er zijn dus 36^32 mogelijkheden voor verschillende vingerafdrukken. Er zijn dus verschillende soorten invoer die tot dezelfde hash lijden. Als je een collision (dezelfde vingerafdruk) vind, wil dit niet zeggen dat dit automatisch de originele data is:
mm das niet hele maal correct
ja eigenlijk gedeeltelijk wel want md5 kan ook #$%^^&*() cripten hij cript ze naar :abcdefghijklmnopqrstuvwxyz1234567890
ik kan met dit script 78 tekens ontdekken dus het 78*78*78 voor een pass met 3 karakters dit zijn 474552 mogelijk heden
Ik beweer ook niet dat hij alleen hexadecimaal kan coderen. md5 kan vanalles coderen. Ik noem het daarom ook bitjes in plaats van kleineletters en cijfers. Een hoofdletter A geeft namelijk een andere hash als de kleine letter a. Hoeveel mogelijkheden qua input er zijn, is niet relevant voor de mogelijkheden van de output. De mogelijkheden van de input zijn namelijk oneindig, van de output niet. Aan de hash kun je niet zien of je input een letter, een bladzijde of een hele bibliotheek is, het is dus ook raar om te zeggen dat input mogelijkheden een zoekrichting vormt voor het aantal mogelijkheden.
ik kan met dit script 78 tekens ontdekken dus het 78*78*78 voor een pass met 3 karakters dit zijn 474552 mogelijk heden
Precies! Een wachtwoord van 3 karakters is dus ook veel te simpel, dat is gewoon ronduit onveilig.
Dit heeft overigens niets, maar dan ook niets, met MD5 te maken (of het 'decoderen' van MD5), maar gewoon domweg duizenden wachtwoorden uitproberen. En laat de hedendaagse computer dat nu razendsnel kunnen doen... Een jaar of 2 geleden ben ik daar eens mee bezig geweest, de laptop dit ik toen had (AMD 2ghz) had 1 a 2 seconden nodig voor een wachtwoord van 4 karakters. Mijn huidige C2D zal nog vele malen sneller klaar zijn.
Hoe veiliger je het wachtwoord wilt maken, des te meer karakters je moet gebruiken. En dit heeft niets met de hashing-methode te maken, dit gaat altijd op.
SHA1 is overigens veiliger dan MD5, maar voor de gewone huis-tuin-en-keuken-systemen maakt dat niets uit.
?
Onbekende gebruiker
16-07-2007 14:21
sander schreef op 16.07.2007 14:02
mm das niet hele maal correct
ja eigenlijk gedeeltelijk wel want md5 kan ook #$%^^&*() cripten hij cript ze naar :abcdefghijklmnopqrstuvwxyz1234567890
Kijk maar eens naar een md5 checksum voor een willekeurig bestand. Bijvoorbeeld voor een .exe. Van een .exe weet je dat dat bestand niet alleen alfanumerieke tekens heeft maar ook onzichtbare voor het menselijke oog (wel te zien met een dissambler (OllyDbg), waardoor je een Assembly soort taal krijgt).
Maar als beveiliging kun je misschien Sha1 kiezen en als fingerprint zou je MD5 of Sha1 kunnen gebruiken. Nja, als je maar een lengte van minimaal 10 karakters hebt als wachtwoord, duurt het ook weer wat langer. Tevens, wanneer de karakters ver van elkaar liggen (grote alfanumerieke variaties) dan is het vergelijken met een MD5 bruteforce cracker ook weer een pokkewerk.