Citat:
Ursprungligen postat av
GrillTekniker
Fast saltet betraktas inte som en hemlighet - det kan med fördel inkluderas i klartext i databasen tillsammans med hashen, eller vara genererat från ex. användarnamnet. Vanligt är väl typ "<hash>:<salt>". Poängen med saltet är inte att det ska vara hemligt, utan att två användare med samma lösenord inte har samma hash.
Annars hade det varit trivialt att hitta alla med "vinter24" som lösenord exempelvis - bara hasha "vinter24" med samma algorithm som använts i databasen, sedan söka fram alla rader som har samma hash. Gör likadant med de 10000 vanligaste lösenorden så har du fått fram de flestas användarnamn+lösen -kombo.
Har varje rad ett eget salt så funkar inte det, ingen hash kommer vara den andra lik även om alla har "vinter24" som lösenord. Men saltet behöver som sagt inte vara hemligt. Lösenordshantering 101.
Helt korrekt, det är rätt vanligt att folk använder enkla funktioner såsom time() i epoch för att generera salt.
Ska man vara petig så helst ska du väl ha nåt helt random med bra entropi vilket time() inte ger dig, men det är ändå fan så mycket bättre än att köra samma salt överallt.
Skönt att se nån som faktiskt vet vad dom pratar om på FB, händer tyvärr inte ofta.