Coca-Cola schreef op maandag 01 augustus 2011 @ 11:55:
[...]
Sorry hoor, ik weet precies hoe hashes werken, lees het topic anders nog even goed door. Ik draag (meer ter informatie dan als oplossing) een FUZZY hashing algoritme aan dat daadwerkelijk wordt gebruikt om strings te vergelijken op kleine afwijkingen (namelijk voor NEAR DEDUPLICATION van data). Zo'n hash bestaat dus uit gedeeltes van hashes. Als ik jouw wachtwoord in X karakters opsplits, elke X hash en daar stukjes uit ga halen en weer aan elkaar ga plakken, dan is die hash dus een stuk makelijker te 'kraken' dan 1 hash over het hele wachtwoord (althans, het is makelijker om een wachtwoord te vinden dat dezelfde hash oplevert, je weet nooit of je ook echt het orginele wachtwoord hebt gevonden, maar dat is ook niet meer nodig dan)
Wat je dan kan doen is: vergelijking maken met oude wachtwoord bij nieuw wachtwoord (wat TS nu kiest), dan beide wachtwoorden die manier hashen, vergelijken, nieuwe wachtwoord-hash weggooien en er een gewone hash van maken en de oude wachtwoord manier-hash opslaan in andere tabel, en dan bij 3e wachtwoord manier-hash van nieuwe wachtwoord vergelijken met die uit tabel (1e) en de oude die je net invulde (ook hashen), enz
Dus:
3e x wachtwoord veranderen: (manier-hash is dus delen-ding zoals jij zegt)
User:
oude wachtwoord invullen
nieuwe wachtwoord invullen
server:
alle oudere (ouder dan oude wachtwoord in form) wachtwoorden uit tabel halen (manier-gehashed)
ingevulde wachtwoorden manier-hashen
alle manier-hashes vergelijken -> lijkt nieuwe wachtwoord teveel? opnieuw laten invullen door user
-> wachtwoord OK?
oude wachtwoord-manier-hash in tabel erbij zetten
nieuwe wachtwoord-manier-hash weggooien
nieuwe wachtwoord gewoon hashen en opslaan.
Zo weet jij zeker dat je kan vergelijken, en aangezien in tabel opgeslagen manier-hashes niet huidige wachtwoorden zijn en huidige wachtwoorden genoeg verschillen, (dus per letter hashen) kunnen hackers niets met de per-letter hash, die verschilt te veel van huidige wachtwoord die goed genoeg is gehashed, normaal nl.