Mysql_real_escape_string bij wachtwoord

Gestart doorCalvin12 reacties59 weergaven

13 berichten · pagina 1 van 1

Calvin

Lid · Topicstarter

Berichten
907
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hallo allemaal,

Een korte vraag:
Als ik een wachtwoord ga encrypten, moet ik dan nog van te voren mysql_real_escape_string gebruiken en dan pas encrypten? Of kan het gewoon zonder te string te escapen?

Mvg,

Calvin.
0
Berichten
13.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Als je gewoon een goede encryptie-methode als sha512, sha256 oid gebruikt, hoef je er geen mysql_real_escape_string over te gooien.
0
Calvin

Lid · Topicstarter

Berichten
907
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Oke, thanks! Ik gebruik sha1, dus ik hoop dat dat ook zonder kan.
0
Berichten
1.631
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
gewoon: sha1(wachtwoord)
0
Fass

Lid

Berichten
3.771
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Eigenlijk een beetje offtopic, maar ik raad je aan om niet alleen sha1 te gebruiken, voor de veiligheid van de wachtwoorden van je gebruikers.
Gebruik liever iets als
$hashPassword = sha1("WiLleKeUrIg!!" . sha1("PHP is voor BAZEN!" . $password));


Zoiets is niet te kraken met een "decoder" (database zoeker) zoals deze
0
Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Fass schreef:
Eigenlijk een beetje offtopic, maar ik raad je aan om niet alleen sha1 te gebruiken, voor de veiligheid van de wachtwoorden van je gebruikers.
Gebruik liever iets als
$hashPassword = sha1("WiLleKeUrIg!!" . sha1("PHP is voor BAZEN!" . $password));


Zoiets is niet te kraken met een "decoder" (database zoeker) zoals deze
Salts enzo toevoegen. Als je het voor leden doet kan je een functie maken

function pass($pass, $salt=loll) {
return sha1(153.md5($salt.4c6vb.$pass.GH).md5(kok.sha1(5Jk.$pass.o666).dfJ5fgD.$pass).fg5dFD);
}

gebruik je zo:
echo pass(gewoon wachtwoord);
echo pass(wachtwoord van gebruiken, gebruikersnaam/id); // Is nog moeilijker
0
Calvin

Lid · Topicstarter

Berichten
907
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik gebruik nu dit:

[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #007700]function[/COLOR] securePassR[COLOR= #007700]([/COLOR][COLOR= #0000BB]$pass[/COLOR][COLOR= #007700]){[/COLOR]
    [COLOR= #0000BB]$randomnumber[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]10000[/COLOR][COLOR= #007700]);[/COLOR]
    [COLOR= #0000BB]$salt[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/md5"]md5[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$randomnumber[/COLOR][COLOR= #007700]);[/COLOR]
    [URL="http://www.php.net/return"]return[/URL] [URL="http://www.php.net/sha1"]sha1[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$salt[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$pass[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$salt[/COLOR][COLOR= #007700]).[/COLOR][COLOR= #0000BB]$salt[/COLOR][COLOR= #007700];[/COLOR]
    [COLOR= #FF8000]/* Bij registeren wordt $randomnumber ook opgeslagen en bij het inloggen wordt dit randomnumber weer opgehaald 
    en weer omgezet in het juiste wachtwoord. */[/COLOR]
[COLOR= #007700]}[/COLOR]
?>


Even ter verduidelijking, ik gebruik hier geen md5 voor de cryptie, maar puur voor een random string van letters en cijfers. Ik zorg ervoor dat de randomnumber natuurlijk ook wordt opgeslagen zodat bij het inloggen weer de juiste code kan maken.
0
Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Calvin schreef:
Ik gebruik nu dit:

[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #007700]function[/COLOR] securePassR[COLOR= #007700]([/COLOR][COLOR= #0000BB]$pass[/COLOR][COLOR= #007700]){[/COLOR]
    [COLOR= #0000BB]$randomnumber[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]10000[/COLOR][COLOR= #007700]);[/COLOR]
    [COLOR= #0000BB]$salt[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/md5"]md5[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$randomnumber[/COLOR][COLOR= #007700]);[/COLOR]
    [URL="http://www.php.net/return"]return[/URL] [URL="http://www.php.net/sha1"]sha1[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$salt[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$pass[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$salt[/COLOR][COLOR= #007700]).[/COLOR][COLOR= #0000BB]$salt[/COLOR][COLOR= #007700];[/COLOR]
    [COLOR= #FF8000]/* Bij registeren wordt $randomnumber ook opgeslagen en bij het inloggen wordt dit randomnumber weer opgehaald 
    en weer omgezet in het juiste wachtwoord. */[/COLOR]
[COLOR= #007700]}[/COLOR]
?>
Even ter verduidelijking, ik gebruik hier geen md5 voor de cryptie, maar puur voor een random string van letters en cijfers. Ik zorg ervoor dat de randomnumber natuurlijk ook wordt opgeslagen zodat bij het inloggen weer de juiste code kan maken.[/quote]

Die snap ik niet. kan je beter iets als mijn functie doen en bij elk lid in de database een aparte salt generen bij het registreren en die erin meevormen.
0
Calvin

Lid · Topicstarter

Berichten
907
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Vriendje schreef:
Eerdere citaten tonen
Calvin schreef:
Ik gebruik nu dit:
[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #007700]function[/COLOR] securePassR[COLOR= #007700]([/COLOR][COLOR= #0000BB]$pass[/COLOR][COLOR= #007700]){[/COLOR]
    [COLOR= #0000BB]$randomnumber[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]10000[/COLOR][COLOR= #007700]);[/COLOR]
    [COLOR= #0000BB]$salt[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/md5"]md5[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$randomnumber[/COLOR][COLOR= #007700]);[/COLOR]
    [URL="http://www.php.net/return"]return[/URL] [URL="http://www.php.net/sha1"]sha1[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$salt[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$pass[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$salt[/COLOR][COLOR= #007700]).[/COLOR][COLOR= #0000BB]$salt[/COLOR][COLOR= #007700];[/COLOR]
    [COLOR= #FF8000]/* Bij registeren wordt $randomnumber ook opgeslagen en bij het inloggen wordt dit randomnumber weer opgehaald 
    en weer omgezet in het juiste wachtwoord. */[/COLOR]
[COLOR= #007700]}[/COLOR]
?>


Even ter verduidelijking, ik gebruik hier geen md5 voor de cryptie, maar puur voor een random string van letters en cijfers. Ik zorg ervoor dat de randomnumber natuurlijk ook wordt opgeslagen zodat bij het inloggen weer de juiste code kan maken.
Die snap ik niet. kan je beter iets als mijn functie doen en bij elk lid in de database een aparte salt generen bij het registreren en die erin meevormen.

Dat doe ik toch?
0
Berichten
414
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik heb dit:

$uWW = mysql_real_escape_string(md5($_POST[wachtwoord]));
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Mertdelft schreef:
Ik heb dit:
$uWW = mysql_real_escape_string(md5($_POST[wachtwoord]));


Sha1 is beter, md5 is héél snel gedecrypt.
Sjoerd schreef:
Als je gewoon een goede encryptie-methode als sha512, sha256 oid gebruikt, hoef je er geen mysql_real_escape_string over te gooien.
0
Berichten
414
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Sevvlor schreef:
Eerdere citaten tonen
Mertdelft schreef:
Ik heb dit:
$uWW = mysql_real_escape_string(md5($_POST[wachtwoord]));

Sha1 is beter, md5 is héél snel gedecrypt.
Sjoerd schreef:
Als je gewoon een goede encryptie-methode als sha512, sha256 oid gebruikt, hoef je er geen mysql_real_escape_string over te gooien.
Ik ga de systeem die ik gebruik toch nooit release is gewoon voor me zelf voor testjes
0
Berichten
6.485
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Voeg een salt en pepper aan je wachtwoord toe.

salt = user specifiek (aanmelddatum op miliseconde bijvoorbeeld)
pepper = applicatie specifiek (in je config)

en dan $pass = hash(sha256, $_POST[password].$salt.$pepper);

Ga aub niet moeilijk doen met meerdere coderingen. Het enige waar je nu voor uit moet kijken is collisions. Die kans is zegmaar HEEEEEL erg klein.
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren