Hey,
Ik vroeg me af hoe je best password salts kunt berekenen. Ik zat te denken aan de gebruikersnaam (laten we er vanuitgaan dat onze tabel "users" 3 velden heeft: id, username en password) te gebruiken om de salt te berekenen, maar hoe doe je dit best? Misschien iets willekeurigs verzinnen zoals:
- Neem de eerste en de derde letter van de username
- Voeg de tweede letter hierachter toe
- Bereken hiervan de MD5
- Neem de eerste 10 tekens van de MD5
- Zet hier ook weer wat gegevens van de username achter en bereken een hash met een algoritme
- Etc. etc.
- Voeg de salt toe aan het wachtwoord en bereken de uiteindelijke hash met SHA512
Dit is iets wat ik zonet heb verzonnen. Is deze manier van denken juist of net helemaal verkeerd? Hoe bereken je een goede salt?
Dan is er nog een probleem met deze methode. Stel nu dat ik gebruikers de mogelijkheid wil geven hun username te veranderen. Geen probleem dan, ik vraag gewoon bij het veranderen ook hun wachtwoord, controleer dat wachtwoord eerst en als het klopt veranderd de username en wordt een nieuwe hash berekent dmv de ingegeven gebruikersnaam en wachtwoord.
Maar wat nu als ik als beheerder een username wil veranderen? Of als ik dit via de database wil doen? Ik heb geen toegang tot hun wachtwoorden, en hun hash is afhankelijk van de gebruikersnaam. Als de gebruikersnaam veranderd, moet een nieuwe hash berekend worden, maar daarvoor heb ik hun wachtwoord nodig. De enige oplossing die ik kan bedenken is in de database een extra veld "old username" toe te voegen en daar tijdelijk de oude naam op te slaan tot de user 1x heeft ingelogd, zodat de hash dan veranderd. Maar dit lijkt me wel een heel slechte methode.
Ben ik hier helemaal verkeerd met mijn denkwijze? Hoe bereken je best zo'n salt?
Bedankt
Ik vroeg me af hoe je best password salts kunt berekenen. Ik zat te denken aan de gebruikersnaam (laten we er vanuitgaan dat onze tabel "users" 3 velden heeft: id, username en password) te gebruiken om de salt te berekenen, maar hoe doe je dit best? Misschien iets willekeurigs verzinnen zoals:
- Neem de eerste en de derde letter van de username
- Voeg de tweede letter hierachter toe
- Bereken hiervan de MD5
- Neem de eerste 10 tekens van de MD5
- Zet hier ook weer wat gegevens van de username achter en bereken een hash met een algoritme
- Etc. etc.
- Voeg de salt toe aan het wachtwoord en bereken de uiteindelijke hash met SHA512
Dit is iets wat ik zonet heb verzonnen. Is deze manier van denken juist of net helemaal verkeerd? Hoe bereken je een goede salt?
Dan is er nog een probleem met deze methode. Stel nu dat ik gebruikers de mogelijkheid wil geven hun username te veranderen. Geen probleem dan, ik vraag gewoon bij het veranderen ook hun wachtwoord, controleer dat wachtwoord eerst en als het klopt veranderd de username en wordt een nieuwe hash berekent dmv de ingegeven gebruikersnaam en wachtwoord.
Maar wat nu als ik als beheerder een username wil veranderen? Of als ik dit via de database wil doen? Ik heb geen toegang tot hun wachtwoorden, en hun hash is afhankelijk van de gebruikersnaam. Als de gebruikersnaam veranderd, moet een nieuwe hash berekend worden, maar daarvoor heb ik hun wachtwoord nodig. De enige oplossing die ik kan bedenken is in de database een extra veld "old username" toe te voegen en daar tijdelijk de oude naam op te slaan tot de user 1x heeft ingelogd, zodat de hash dan veranderd. Maar dit lijkt me wel een heel slechte methode.
Ben ik hier helemaal verkeerd met mijn denkwijze? Hoe bereken je best zo'n salt?
Bedankt