Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.
Dan om het wachtwoord te wijzigen: Gebruik altijd de hash (met salt) van het wachtwoord om in je DB op te slaan. Dat is atijd one-way, dus niet meer te herleiden.
De bekendste hash algoritmen zijn: crypt, blowfish, md5 en sha. De laatste is het veiligst.
Het is niet belangrijk dat je het wachtwoord niet kan herleiden, als het wachtwoord wordt ingetypt, wordt in de db gekeken naar de salt, en daar met het wachtwoord de hash weer van berekend. Is dat dezelfde, als in de hash in de db, dan is het wachtwoord juist.
500 "The server made a boo boo"
de inlogprocedure werkt al wel, maar ik zoek alleen nog een manier om een soort challenge/response te kunnen gebruiken bij het wijzigen van het wachtwoord.Vaan_Banaan schreef op dinsdag 03 januari 2006 @ 15:48:
Dan om het wachtwoord te wijzigen: Gebruik altijd de hash (met salt) van het wachtwoord om in je DB op te slaan. Dat is atijd one-way, dus niet meer te herleiden.
De bekendste hash algoritmen zijn: crypt, blowfish, md5 en sha. De laatste is het veiligst.
Het is niet belangrijk dat je het wachtwoord niet kan herleiden, als het wachtwoord wordt ingetypt, wordt in de db gekeken naar de salt, en daar met het wachtwoord de hash weer van berekend. Is dat dezelfde, als in de hash in de db, dan is het wachtwoord juist.
mijn vraag rees met name na het lezen van dit in de faq:
p.s. ik gebruik sha256 als hashing-algoritmeBij password veranderen kun je wel combinatiehashes trekken op basis van vorige password waardoor er geen lekbare data over de lijn gaat.
[ Voor 26% gewijzigd door wizzkizz op 03-01-2006 16:18 ]
Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.
Zoals al gezegd is, je zult toch het nieuwe password over de lijn moeten sturen. Makkelijkste oplossing lijkt me HTTPS te gebruiken.wizzkizz schreef op dinsdag 03 januari 2006 @ 15:56:
de inlogprocedure werkt al wel, maar ik zoek alleen nog een manier om een soort challenge/response te kunnen gebruiken bij het wijzigen van het wachtwoord.
https://niels.nu
Je zorgt er dan voor dat de server een nieuwe identificatiehash kan berekenen zonder dat die ooit over de lijn is gegaan.
(Je hebt dan wel een beperking op de lengte het wachtwoord, maar dat is altijd zo.)
[ Voor 21% gewijzigd door Soultaker op 03-01-2006 16:45 ]
Ga ik dat eens verder onderzoeken.
tnx voor de antwoorden so far.
Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.
[ Voor 10% gewijzigd door Soultaker op 03-01-2006 17:56 ]
In eerste instantie gaat dat per post, samen met het contract enzo.JHS schreef op dinsdag 03 januari 2006 @ 17:19:
Aanverwante vraag: Hoe krijg je dan het allereerste password bij de gebruiker.
Daar heb je idd gelijk in. Maar het is een stuk veiliger dan gewoon plain verzenden. Er komt ook wel een mogelijkheid om er middels https mee te connecten, maar dat is er nu nog niet en voor de case dat gebruikers daarna toch een onbeveiligde verbinding gebruiken, vond ik het een goede aanvulling.Soultaker schreef op dinsdag 03 januari 2006 @ 17:55:
Die zou je kunnen e-mailen (al is dat niet per se veiliger). Sowieso is challenge/response-authenticatie, net als het schema wat ik voorstelde, maar een beperkte oplossing, want het is wel vatbaar voor een man-in-the-middle attack. Je voorkomt er alleen maar mee dat je wachtwoorden plaintext over het netwerk verstuurd worden, maar de verbinding zelf beveilig je er niet mee. Daar heb je echt iets als SSL (HTTPS) voor nodig.
Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.
Maar voor mijn systeem heb ik het zelfde probleem. Als ik XOR test in PHP werkt het perfect. Alleen is dat wel serverside. Het betekent dus dat mijn wachtwoord niet gehashed naar de server gaat.
Nu had ik gedacht om dus client side een hash te maken met javascript en dan als sleutel het oude wachtwoord. Maar de xor functie in javascript lijkt alleen maar met getallen te kunnen werken.
Heeft iemand een idee hoe ik javascript wel de text kan laten hashen, zodat php dit weer ongedaan kan maken.
Volgens mij kan je een hash niet (altijd) weer omvormen naar de oorspronkelijke tekenreeks. Waarschijnlijk doel je op encryptie. Kijk voor informatie eens op Wikipedia: Asymmetrische cryptografie en op Wikipedia: Pretty Good Privacy.
Speel ook Balls Connect en Repeat
Gebruik diffie hellman om een key te genereren op beide zijden en gebruik die dan als key voor een symmetrisch encryptie algoritme. Dit is ook de basis van SSL en andere technieken... Eigenlijk is gewoon HTTPS gebruiken al voldoende.
ASSUME makes an ASS out of U and ME