Het werkt, alleen geeft hij telkens een andere lengte (hoe langer de ingegeven waarde, hoe langer de output). Maar voor de rest codeert hij het wel met de tekens die in de array staan.
Nu is mijn vraag vooral: is dit veilig om te gebruiken en om dus paswoorden te versleutelen, of is dit eenvoudig te kraken? Dat het te kraken is, daar ga ik zowieso al van uit, maar toch...
het is toch denk ik moeilijk om de lengte van het paswoord te achterhalen.
hasher('1') -> een string van 16 tekens
hahser('2') -> een string van 21 tekens
hasher ('3') -> een string van 24 tekens
hasher ('google') -> een string van 20 tekens
Volgens mij ga je vrij snel dubbele waardes kunnen krijgen met je formule. Ik ga vanavond als ik thuis ben eens wat proberen...
ik heb op dit moment alleen de "o" en de "n" kunnen vinden die hetzelfde zijn. Voor de rest ben ik nog niet echt verder gegaan met een controle of er dubbele hashes zijn aangetroffen xD (Moest ff wat bij de bakker halen)
Maak een eenvoudig script daarvoor? (laat je pc een nachtje werken)
Ben ook bezig met zown automatisch script.. kga niet alles met de hand controleren lol.. Moet nog even een in_array check eroverheen gooien en dan is het 99% klaar
hoe kan ik er nu voor zorgen dat de output dezelfde lengte heeft?
ik dacht eraan om te kijken hoe lang de huide output is, en indien deze bv. korter is dan 25, de output gewoon achteraan plakken totdat deze 25 tekens lang is.
dus:strlen('123456') < 25
1234561234561234561234561
daarnaast zou ik willen weten of deze veiliger is dan mijn eerste. En dan vooral: zouden jullie deze durven gebruiken op je website? (want dat ben ik bij de mijne van plan)
Nee, dat zou ik nooit aandurven. Algoritmes als MD5 en SHA(1|2|etc.) zijn daar juist voor bedoeld, en op zulke kleine string komen _nooit_ collisions voor. :]