Forum > Webbutveckling relaterat > Databaser och SQL
Vilket sätt är bäst när det gäller att hasha lösenord.
Jag har funderat på dessa kombinationer
1. password (hasha endast password)
2. password+timestamp
3. secret_key+password+timestamp
secret_key är en hashad kombination av flera fält.
Kommer använda SHA1 eller SHA256.
Redigerad av ice
Anledning:
Måste nog säga att det är en rätt ledande fråga ;) Ju mer parameter som spelar roll i ditt lösenord ju jobbigare bli det att hitta ett möster hos andra.
Jag valde att använda, timestamp+secret_key+password med sha1.
Är nog ganska övertygad om att det är det säkrare valet då det är flera parametrar oberoende av varandra för att lyckas knäcka lösenordet.
Jag kör personligen med sha1(hemligsträng+lösenord+användarensangivna epost) Dock finns det ett problem som jag inte kommit på något smidigt sätt att lösa ännu, och det är att om användaren byter epost så skall ju lösenordet ändras också. Återkommer när / om jag hittar en lösning på detta
Det bli svårt, eftersom SHA-1 och MD5 är en Hash nyckel, det är bara en "checksumma" av ett input värde, informationen "finns" inte resultatet utan det är vad resultatets checksumma bli efter den har blivit hashad, likt våra personummer, det sista nummret är en checksumma av de resterande nio nummer(yymmdd-xxxy).
Det du kan göra är att om man byter email så måste man fylla i lösenordet, om lösenordet+gamla epost stämmer med det du har nu i din databas => Byt e-post och hämta lösenordet + eposten som du skrev in i inputen.
Jag använder ett salt som genereras nytt varje gång lösenordet ändras
Jag använder ett salt som genereras nytt varje gång lösenordet ändras
Jag lagrar salt i databasen, och kontrollen gör jag i sql-satsen
Dock inte speciellt smidigt att lagra ett salt i databasen, för om en hacker väl kommer åt databasen borde det inte ta honom lång tid att klura ut hur denne skall klura ut hur din hashining är uppbygd.
Det bli svårt, eftersom SHA-1 och MD5 är en Hash nyckel, det är bara en "checksumma" av ett input värde, informationen "finns" inte resultatet utan det är vad resultatets checksumma bli efter den har blivit hashad, likt våra personummer, det sista nummret är en checksumma av de resterande nio nummer(yymmdd-xxxy).
Det du kan göra är att om man byter email så måste man fylla i lösenordet, om lösenordet+gamla epost stämmer med det du har nu i din databas => Byt e-post och hämta lösenordet + eposten som du skrev in i inputen.
Jag vet detta, och har därför börjat leta efter något sätt att kryptera själv som är säkert och effektivt. Har sett några mindre bra lösningar när jag googlat, men ingen av dessa attraherar mig.
Dock inte speciellt smidigt att lagra ett salt i databasen, för om en hacker väl kommer åt databasen borde det inte ta honom lång tid att klura ut hur denne skall klura ut hur din hashining är uppbygd.
Det bli svårt, eftersom SHA-1 och MD5 är en Hash nyckel, det är bara en "checksumma" av ett input värde, informationen "finns" inte resultatet utan det är vad resultatets checksumma bli efter den har blivit hashad, likt våra personummer, det sista nummret är en checksumma av de resterande nio nummer(yymmdd-xxxy).
Det du kan göra är att om man byter email så måste man fylla i lösenordet, om lösenordet+gamla epost stämmer med det du har nu i din databas => Byt e-post och hämta lösenordet + eposten som du skrev in i inputen.
Jag vet detta, och har därför börjat leta efter något sätt att kryptera själv som är säkert och effektivt. Har sett några mindre bra lösningar när jag googlat, men ingen av dessa attraherar mig.
Om hackern kommer över databasen så hjälper inga hashningar i världen.
Sen är det inte webbsidans säkerhet som har brustit, utan webbhotellets.
Då borde man fundera över om det inte är bättre att byta webbhotell till ett som är säkrare.