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?
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
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
[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.
[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.
[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.