Hvilken datatype skal brukes for hashede passordfelt og hvilken lengde?

Jeg er ikke sikker på hvordan passordhashing fungerer (skal implementere det senere), men må opprette databaseskjemaet nå.

Jeg tenker å begrense passord til 4-20 tegn, men som jeg forstår etter kryptering vil hash-strengen være av forskjellig lengde.

Så hvordan lagrer jeg disse passordene i databasen?

Du finner kanskje denne Wikipedia-artikkelen om salting nyttig. Ideen er å legge til et sett med data for å gjøre hash-verdien tilfeldig. Dette vil beskytte passordene dine mot ordbokangrep hvis noen får uautorisert tilgang til passordhashene.

Kommentarer (3)

Som en streng med fast lengde (VARCHAR(n) eller hva MySQL kaller det). En hash har alltid en fast lengde på for eksempel 12 tegn (avhengig av hvilken hashalgoritme du bruker). Et passord på 20 tegn blir altså redusert til en hash på 12 tegn, og et passord på 4 tegn blir også en hash på 12 tegn.

Kommentarer (1)

Jeg har alltid testet å finne MAX-strenglengden til en kryptert streng og satt den som tegnlengden til en VARCHAR-type. Avhengig av hvor mange poster du skal ha, kan det virkelig hjelpe på databasestørrelsen.

Kommentarer (0)