Encryptie functie niet functionerend...
Was even beetje aan het rondlezen over md5, salt en sha1, en kwam in een ander topic tegen dat md5 op zichzelf best prima is, maar dat als je de hash gewoon even googeld/googled je soms al het wachtwoord vind (even getest, en is bij simpele wachtwoorden heel makkelijk inderdaad.... :O ). Nu had ik ergens deze code gevonden:
Code (php)
Vond ik er best leuk uitzien, en wilde even een poging doen dat toe te passen in mijn eigen scripts. Dus ik maakte de function encrypt aan:
Code (php)
De function "escape" is een eerder aangemaakte functie van 3 regels om gewoon niet altijd hele mysql_real_escape_string te hoeven uitschrijven, en die functie werkt gewoon prima. Trim spreekt voor zichzelf, een bestaande functie in php.
Als ik nu met een query ga INSERT-en, op deze manier:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$cQuery = "
INSERT INTO
gebruikers
(Gebruikersnaam,Wachtwoord,IP,Type )
VALUES(
'".escape($_POST['Gebruikersnaam'])."',
'".encrypt($_POST['Wachtwoord1'])."',
'".escape($realip)."',
'".escape('user')."'
)";
?>
$cQuery = "
INSERT INTO
gebruikers
(Gebruikersnaam,Wachtwoord,IP,Type )
VALUES(
'".escape($_POST['Gebruikersnaam'])."',
'".encrypt($_POST['Wachtwoord1'])."',
'".escape($realip)."',
'".escape('user')."'
)";
?>
Probleem nu is dat als ik in de database kijk, in de kolom wachtwoord leeg is..... als ik de query echo, blijkt hij inderaad daar gewoon niks te inserten.....
Gewijzigd op 01/01/1970 01:00:00 door Afra ca
En wat gaat er nu fout?
Je vergeet 'return $password;' in je functie :)
haha, briljante opmerking Jelmer ;) Dank is groot.
Gewijzigd op 01/01/1970 01:00:00 door Mark PHP
Het veilig genoeg, het is alleen niet altijd handig om zichzelf als salt te gebruiken. Opzich is sha1(password) al genoeg. Doe je nog sha1(salt . password . salt) dan zit je helemaal veilig.
Maar waar ik meer op doelde is dat de salt nu tweemaal geëncrypt wordt en vervolgens nogmaals samen met het password. Eénmaal in totaal is voldoende.
Gewijzigd op 01/01/1970 01:00:00 door Mark PHP
Wat betreft de $salt, hebben jullie suggestie voor een leuke salt? Vind het ook zo flauw en simpel staan als ik $salt = 854930 gebruik o.id.
Sije Harkema schreef op 21.04.2009 16:40:
Was gewoon maar een voorbeeld dat mijn aandacht trok. Ben uitermate onbedreven in php (al leer ik steeds meer), en wilde gewoon even kijken hoe en wat dit binnen mijn systeem zou doen. Begrijp dat het niet helemaal ideaal is toegepast.
Wat betreft de $salt, hebben jullie suggestie voor een leuke salt? Vind het ook zo flauw en simpel staan als ik $salt = 854930 gebruik o.id.
Wat betreft de $salt, hebben jullie suggestie voor een leuke salt? Vind het ook zo flauw en simpel staan als ik $salt = 854930 gebruik o.id.
Verzin zelf eens een saltstring..
Inspiratie voldoende... :P
Las net iets over user id gebruiken als salt, maar dat lijkt me ook niet helemaal een leuke optie, aangezien je dan met inserten een heel gedoe krijgt......... en later met opvragen ook.......
Code (php)
Lijkt mij dynamisch genoeg. Door hetzelfde geintje uit te halen bij het inloggen kan je ook gewoon controleren of het wachtwoord correct is.
Je krijgt dan zoiets:
Theforce117 schreef op 21.04.2009 18:09:
Nogmaals, dit is NIET veiliger dan slechts eenmaal sha1 toepassen. Beginnersfout.@GaMer13: de terminologie is officieel precies andersom, een salt komt uit de database, terwijl de pepper in een bestand staat.
Leesvoer.
Gewijzigd op 01/01/1970 01:00:00 door Mark PHP