Ich mache einen gemischten Has aus md5 und sha1.
Ankündigung
Einklappen
Keine Ankündigung bisher.
[Erledigt] Dynamische Salt Hashes auswerten
Einklappen
Neue Werbung 2019
Einklappen
X
-
[COLOR="#F5F5FF"]--[/COLOR]
[COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
„Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
[URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
[COLOR="#F5F5FF"]
--[/COLOR]
-
Ja nehm entweder sha oder md5, aber nicht beides!
Siehe auch den aktuellen Thread: http://www.php.de/php-einsteiger/705...-sicherer.html
Kommentar
-
Hallo an alle Helfer
So ich habe das nun mal versucht umzusetzen mit Testdaten.
Hier mal mein Logversuch.
PHP-Code:if(isset($_POST['log'])){
$sql ="
SELECT
Count(*) As countUser,
id,
username,
pwd,
salt
FROM
`salted`
WHERE
username ='".mysql_real_escape_string($_POST['un'])."'
AND
".md5("CONCAT(salt,".$_POST['pwd'].")")." = pwd
";
$query = mysql_query($sql) or die('Query ging nicht '.mysql_error());
$fetch = mysql_fetch_assoc($query);
if($fetch['countUser'] > 0){
$_SESSION['idu'] = $fetch['id'];
}
}
Dazu lasse ich mir vor aus dem gespeicherten Salt und dem Wort lisa eine echo Ausgabe machen.
PHP-Code:echo md5('M}W+?78jwnöä9617QÜlisa');
Nun versuche ich mich mit den Testdaten lisa und lisa einzuloggen und bekomme eine solche Fehlermeldung.
Code:Query ging nicht Unknown column '0f00790d4c7c645e8314b2bd26ab7b09' in 'where clause'
Ich bin dankbar für jede Hilfe.
Gruß LitterAus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
[URL]http://www.lit-web.de[/URL]
Kommentar
-
CONCAT ist eine MySQL Funktion, du wendest aber md5 auf CONCAT(salt, ...) an ... heißt ERST wird davon der Hash gebildet und DANN wird es an MySQL geschickt. Da dann natürlich CONCAT nicht mehr da ist wird das auch von MySQL nicht ausgeführt ...
Solltest du mit deinen 2500 Posts aber langsam wissen das ERST die PHP Funktion ausgeführt wird und dann der gesamte Query an MySQL geschickt wird.
Kommentar
-
Das ist mir durchaus bewusst, dass heist erst das CONCAT und dann da drin die PHP Funktione. Probiere ich gleich mal aus.Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
[URL]http://www.lit-web.de[/URL]
Kommentar
-
Zitat von litterauspirna Beitrag anzeigenPHP-Code:".md5("CONCAT(salt,".$_POST['pwd'].")")." = pwd
";
"My software never has bugs, it just develops random features."
"Real programmers don't comment. If it was hard to write, it should be hard to understand!"
Kommentar
-
Ich habe das nun so abgeändert.
Code:AND pwd = CONCAT(".md5('salt', $_POST['pwd']).")
[code]
SELECT
Count(*) As countUser,
id,
username,
pwd,
salt
FROM
`salted`
WHERE
username ='lisa'
AND
CONCAT(βrAus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
[URL]http://www.lit-web.de[/URL]
Kommentar
-
Nein du mussst erst den Salt in der Datenbank mit dem Passwort aus der eingabe verknüpfen und DANN md5 anwenden. Von daher verwende die MySQL MD5 Funktion denn diese wird dann auch erst in MySQL aufgerufen und zwar nach CONCAT.
PHP-Code:$sql ="
SELECT
Count(*) As countUser,
id,
username,
pwd,
salt
FROM
`salted`
WHERE
username ='".mysql_real_escape_string($_POST['un'])."'
AND
pwd = MD5(CONCAT(salt,".$_POST['pwd']."))
";
PHP-Code:$sql ="
SELECT
Count(*) As countUser,
id,
username,
pwd,
salt
FROM
`salted`
WHERE
username ='".mysql_real_escape_string($_POST['un'])."'
AND
pwd = \"".md5($salt.$_POST['pwd'])."\"
";
Kommentar
-
Danke Jungens das klappt nun, ich wusste bis jetzt gar nicht das Mysql auch eine MD5 Funktion hat, darum habe ich das die ganze Zeit auf PHP Basis versucht.
Der Code der funktioniert für die Nachwelt.
PHP-Code:$sql ="
SELECT
Count(*) As countUser,
id,
username,
pwd,
salt
FROM
`salted`
WHERE
username ='".mysql_real_escape_string($_POST['un'])."'
AND
pwd = MD5(CONCAT(salt,'".$_POST['pwd']."'))
";
$query = mysql_query($sql);
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
[URL]http://www.lit-web.de[/URL]
Kommentar
-
Danke Jungens das klappt nun, ich wusste bis jetzt gar nicht das Mysql auch eine MD5 Funktion hat, darum habe ich das die ganze Zeit auf PHP Basis versucht.
http://lmgtfy.com/?q=mysql+md5Signatur:
PHP-Code:$s = '0048656c6c6f20576f726c64';
while($i=substr($s=substr($s,2),0,2))echo"�$i;";
Kommentar
-
Zitat von ByStones Beitrag anzeigen30s Zeit + Google und du hättest rausgefunden dass mysql sowas kann.
Let me google that for youAus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
[URL]http://www.lit-web.de[/URL]
Kommentar
Kommentar