login  Naam:   Wachtwoord: 
Registreer je!
 Forum

omgekeerde van md5

Offline humor - 20/08/2005 13:23
Avatar van humorHTML beginner Hallo

Om de wachtwoorden van de leden in m'n database te stoppen en te beveiligen gebruik ik de volgende code:
  1. <?
  2. $omgezetww=md5($wachtwoord);
  3. //nu zet ik $omgezetww in de database
  4. ?>

Maar hoe (met welke code) kan ik het oorspronkelijke wachtwoord uitschrijven? Dit zou ik willen doen als het lid z'n wachtwoord vergeten is.

10 antwoorden

Gesponsorde links
Offline AcIdBuRn - 20/08/2005 13:29
Avatar van AcIdBuRn HTML beginner Volgens mij is dit onmogelijk, om misbruik tegen te gaan.
Indien een lid zijn paswoord vergeet, zul je hem een nieuw paswoord moeten toesturen, waarmee hij/zij weer kan inloggen.
Offline nemesiskoen - 20/08/2005 13:47
Avatar van nemesiskoen Gouden medaille

PHP expert
md5 hashed een bepaalde tekenreeks in een hexadecimale code. 1 hash staat voor meerdere tekenreeksen.
Het zou dus bv kunnen dat de hash van "passwoord" gelijk is aan de hash van "ik wandel door het park en val kijhard op men bakkes".

Daarom is het onmogelijk dit om te keren (ik weet dat er van die dingen bestaan waar je je hash naartoe kan sturen en via uitgebreide databases en veel formules de hash proberen te achterhalen, maar het blijft zo dat er meer tekenreeksen bestaan voor 1 hash, en trouwens zo'n berekening kost zoveel laadtijd dat het voor de bezoeker uren, misschien dagen duurt voor de pagina is geladen). Wat je dus wel kan doen zoals acidburn zegt: een nieuw passwoord maken, dit hashen, de hash in de db steken en het originele passwoord te sturen naar het emailadres dat het lid origineel had meegegeven.
Offline humor - 20/08/2005 13:51
Avatar van humor HTML beginner Bedankt voor de informatie.
Met welke code kan je dan zelf een nieuw paswoord laten generen (die je dan naar het lid doormailt)?
Offline Stijn - 20/08/2005 13:53
Avatar van Stijn PHP expert http://sitemast...&id=80 
Offline webstab - 20/08/2005 14:59 (laatste wijziging 22/08/2005 18:10)
Avatar van webstab PHP ver gevorderde
  1. <?php
  2. function nwachtwoord($len=8,$num=True) {
  3. mt_srand(microtime() * 1000000);
  4. for($password='';strlen($password)<$len;){
  5. if (!mt_rand(0,2) && $num) {
  6. $password.=chr(mt_rand(48,57));
  7. } else if (!mt_rand(0,1)) {
  8. $password.=chr(mt_rand(65,90));
  9. } else {
  10. $password.=chr(mt_rand(97,122));
  11. }
  12. }
  13. return $password;
  14. }
  15.  
  16. $nwachtn = nwachtwoord();
  17. $to = "xxx@xx.xx";
  18. $ond = "Nieuw wachtwoord op xxxx.be";
  19. $bericht = "U of iemand anders heeft een nieuw wachtwoord aangevraagd.<br>
  20. Uw loginnaam: xxxxxx<br>
  21. Nieuw wachtwoord: ".$nwachtn."<br><br>
  22. U moet wel nog deze gegevens activeren door op de onderstaande link te drukken.
  23. Indien u geen nieuw wachtwoord heeft aangevraagd of het niet meer nodig is,negeert u gewoon deze mail.
  24. <br>Veel surfplezier<br><br>
  25. <a href=\"xxxx\">xxx</a>";
  26. $headers = "MIME-Version: 1.0\n";
  27. $headers .= "Content-type: text/html; charset=iso-8859-1\n";
  28. $headers .= "Content-Transfer-encoding: 7bit\n";
  29. $headers .= "From: Yoursite.be <info@yoursite.be>\n";
  30. $headers .= "X-Mailer: Yoursite.be\n";
  31. $headers .= "X-Priority: 1\n";
  32. $headers .= "X-MSMail-Priority: High\n";
  33. mail($to, $ond, $bericht, $headers);
  34. ?>

Zoiets?
Offline jeroenoa - 22/08/2005 17:48
Avatar van jeroenoa Onbekend je zou het wel met mdcrack kunnen doen;-) maar daar heb je niets aan aangezien je het via internet wil doen:!:
Offline MechaVore - 22/08/2005 18:19 (laatste wijziging 22/08/2005 18:21)
Avatar van MechaVore Gouden medaille

PHP gevorderde
Hier: Mijn eigen gemaakte !! Md5 brute forcer. gewoon de hash veranderen. maar dit kan je wss niet doen bij dat wachtwoord veranderen omdat de gebruiker dan waarschijnlijk veel langer dan 4 minuten moet wachten.

hash aanpassen, for loops aanpassen voor aantal karakters. $char kan je karakters toevoegen (zoals hoofdletters .. en andere tekens)

En oh jah, Ik zou dit niet gemaakt kunnen hebben volgens de crew omdat ze het zelf niet kunnen. Terwijl het nog onwijs simpel is ook.
  1. <?
  2. $hash = "7fc1a9973ba588a1708cd674e40ef975";
  3. $char[1] = "a";
  4. $char[2] = "b";
  5. $char[3] = "c";
  6. $char[4] = "d";
  7. $char[5] = "e";
  8. $char[6] = "f";
  9. $char[7] = "g";
  10. $char[8] = "h";
  11. $char[9] = "i";
  12. $char[10] = "j";
  13. $char[11] = "k";
  14. $char[12] = "l";
  15. $char[13] = "m";
  16. $char[14] = "n";
  17. $char[15] = "o";
  18. $char[16] = "p";
  19. $char[17] = "q";
  20. $char[18] = "r";
  21. $char[19] = "s";
  22. $char[20] = "t";
  23. $char[21] = "u";
  24. $char[22] = "v";
  25. $char[23] = "w";
  26. $char[24] = "x";
  27. $char[25] = "y";
  28. $char[26] = "z";
  29. $char[27] = "0";
  30. $char[28] = "1";
  31. $char[29] = "2";
  32. $char[30] = "3";
  33. $char[31] = "4";
  34. $char[32] = "5";
  35. $char[33] = "6";
  36. $char[34] = "7";
  37. $char[35] = "8";
  38. $char[36] = "9";
  39. for ($d = 0; $d <= $top; $d++)
  40. {
  41. $ad = $ae.$char[$d];
  42. for ($c = 0; $c <= $top; $c++) /// Enzo voorts. voor 4 karakters duurt het 4 min. voor 5 duurt het 12 min. voor 6 weet ik niet en voor 8 langer dan 8 uur.
  43. {
  44. $ac = $ad.$char[$c];
  45. for ($b = 0; $b <= $top; $b++)
  46. {
  47. $ab = $ac.$char[$b];
  48. for ($a = 0; $a <= $top; $a++)
  49. {
  50. $aa = $ab.$char[$a];
  51. if(md5($aa)==$hash)
  52. {
  53. die('Wachtwoord: '.$aa);
  54. }
  55. }
  56. }
  57. }
  58. }
  59. echo "Geen Resultaat";
  60. ?>
Offline Rens - 22/08/2005 18:22 (laatste wijziging 22/08/2005 18:22)
Avatar van Rens Gouden medaille

Crew algemeen
  1. /// Enzo voorts. voor 4 karakters duurt het 4 min. voor 5 duurt het 12 min. voor 6 weet ik niet en voor 8 langer dan 8 uur.


Dat geld alleen als de tekens alleen uit a-z en 0-9 mogen bestaan.
Als er ook hoofdletters gebruikt mogen worden, reken er dan maar op dat die berekening niet klopt.
Dan is het iets als:
4 karakters 12 minuten.
5 " " 30 minuten
En 6 zit dan al aan of zelfs boven het uur.
En aangezien een toetsenbord ook nog tekens bevat als ",.'?/ enz zal het nog langer gaan duren...
Offline MechaVore - 22/08/2005 18:24 (laatste wijziging 22/08/2005 18:30)
Avatar van MechaVore Gouden medaille

PHP gevorderde
idd, maar als je gewoon de abc enz. alleen gebruikt. en tot 6 karakters test in een while loop van alle leden van sima reken maar dat je dan na een dagje toch een hoop wachtwoorden weet ;)

Edit
Er zijn genoeg mensen die gewoon een woord zoals: kloten,piemel,master,compaq. ofzoiets als wachtwoord hebben. en die haal je er dan echt wel tussen uit hoor.
Offline Rens - 22/08/2005 18:28
Avatar van Rens Gouden medaille

Crew algemeen
Jah, maar niet iedereen gebruikt alleen abc...
En ik neem aan dat er een hoop zijn waarvan het wachtwoord 6+ karakters bevat.
Dus reken er maar niet op dat je na een dagje toch een hoop wachtwoorden weet...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.237s