Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » PHP » md5() und fgets()...verdammt

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
09.08.2006, 15:01 Uhr
~minormatter
Gast


Hi...alles klar bei euch? Hoffe mal...

Ich habe leider ein bescheuertes Problem...

Ich lese 3 Zeilen aus einer Datei...wandle diese mittels md5(); um...aber was dabei rauskommt ist nicht der passende md5 Hash

hier mal der code ( oben die falschen unten die richtigen)

PHP 4:
<?php

$trans = fopen("words.txt", "r");
while (!feof($trans))
{
   $str = fgets($trans, 1024);
   echo $str." - ".md5($str)."<br>";
}


echo "<br><br>ggg - ".md5("ggg")."<br>";
echo "hhh - ".md5("hhh")."<br>";
echo "jjj - ".md5("jjj")."<br>";
fclose ($trans);
?>


Inhalt von Words.txt

Code:
ggg
hhh
jjj



Ich kriege ne make, selbst wenn ich die String mit nem SQL Befehl ( md5( ) ) einfüge kommt der Müll raus...

hoffe jemand hat nen tipp
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.08.2006, 15:17 Uhr
Bruder Leif
dances with systems
(Operator)


Moin!

Ohne groß auf den Code zu schauen: Sind Deine Vergleichswerte korrekt? Bei mir kommt das hier raus:

Code:
"ggg" => ba248c985ace94863880921d8900c53f
"hhh" => a3aca2964e72000eea4c56cb341002a4
"jjj" => 2af54305f183778d87de0c70c591fae4




Bearbeitung von Leif:
Vielleicht werden mit der Zeile auch 0x0d/0x0a als Zeilenendekennzeichen mit eingelesen und gehasht?

--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.

Dieser Post wurde am 09.08.2006 um 15:18 Uhr von Bruder Leif editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.08.2006, 15:59 Uhr
~minormatter
Gast


ggg - ba248c985ace94863880921d8900c53f
hhh - a3aca2964e72000eea4c56cb341002a4
jjj - 2af54305f183778d87de0c70c591fae4

das selbe, das ist das problem woran liegt des?!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.08.2006, 16:16 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


was hast du denn als vergleich dazu? evtl ist das andere nicht korrekt? oder willst du crypt-werte (Passwort-Hashes) vergleichen? da musst du crypt mit entsprechendem Parameter und Salt benutzen.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
09.08.2006, 16:24 Uhr
~minormatter
Gast


nene ich will einfach nur den MD5 Hash vergleichen... also das was ich da habe ist korrekt(das untere)

Hier passt es ja auch:
www.schwett.com/md5/

und in phpbb und mit MySQL passt alles....nur wenn ich die Werte aus der datei einlese kommt der müll raus....warum auch immer. ich habe sogar nen MD5 Cracker drüberlaufen lassen...die untere erkennt er sofort, die oberen nicht...ich versteh das nicht. Scheint ja irgendwas mit den eingelesenen Daten zu sein...kann es sein das fgets irgendwie Probleme macht? Binär kram oder sowas?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
09.08.2006, 17:26 Uhr
Reyx
IT-fetischistischer Wurstsalat mit rostigem Berghorn
(Operator)


Was passiert bei

PHP 4:
$content = file('words.txt');

foreach($content as $current)
   print(md5(trim($current)));


?

Spuckt mir Bruder Leifs Werte aus.

Dieser Post wurde am 09.08.2006 um 17:29 Uhr von Reyx editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
10.08.2006, 07:38 Uhr
~minormatter
Gast


Woah jetzt gehts. also ich habe deins ausprobiert Reyx, das klappt perfekt, ich wollte aber trotzdem wissen woran es liegt. Du hast mir so zu sagen einen Tipp gegeben.
Ich habe trim() bei meinem Versuch eingebaut, ging nicht, aber mit

PHP 4:
$str = trim($str, "\x00..\x1F");



funktioniert es hier nochma der komplette code:


PHP 4:
$trans = fopen("words.txt", "r");
while (!feof($trans))
   {
   $str = fgets($trans, 1024);
   $str = trim($str, "\x00..\x1F");
   echo $str." - ".md5($str)."<br>";

   }
echo "<br><br>ggg - ".md5("ggg")."<br>";
echo "hhh - ".md5("hhh")."<br>";
echo "jjj - ".md5("jjj")."<br>";
fclose ($trans);



Obwohl mir deine Lösung eleganter vorkommt

Danke vielmals
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
10.08.2006, 13:41 Uhr
Feuer



die lösung von Reyx ist auf jeden fall eleganter. Grund: Weniger code!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
10.08.2006, 17:49 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


vor allem ist der befehl "file" (in diesem fall) performanter gegenüber dem interpretierten einlesen der file.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ PHP ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: