Boil In Bag Skrevet 14. mars 2013 Del Skrevet 14. mars 2013 Heisann! Jeg driver med en skoleoppgave hvor vi skal lage en nettbutikk. Et av kravene er å få til brukerinnlogging. Det jeg trenger hjelp med er hvordan jeg enklest mulig kan kryptere passord. Det skal ikke være "crack proof", men det skal bare gjøre det tilsynelatende vanskeligere. Slik at det ikke blir "for obvious" etter lærerens ord. Jeg tenkte derfor på å bruke sha1 og salt som en løsning. Har noen av dere erfaring med noen av de nevnte, og om dere kunne vist meg noen eksempler slik at jeg kan se hvordan jeg skal gå frem når jeg selv skal gjøre det. Andre forslag til en løsning på krypteringen tas gjerne i mot. På forhånd takk! - Boil Lenke til kommentar
FenrisC0de Skrevet 14. mars 2013 Del Skrevet 14. mars 2013 Måten det gjerne gjøres på er vel at du har en database med brukerkontoer der passordhashene er lagret (altså IKKE i passord klartekst). Alt php-koden din gjør er å kjøre samme hashfunksjon på passordet og sjekker om hashen stemmer med hashen som ligger i databasen. Bruk SHA256. Veiledning står her. Lenke til kommentar
Boil In Bag Skrevet 14. mars 2013 Forfatter Del Skrevet 14. mars 2013 Det er jeg klar over, det jeg lurte mest på var å ha en løsning hvor jeg ikke bare hasher passordet, men kanskje [passord]+[brukernavn]+ghy. Slik at det i teroien ikke blir like lett og crakce passordet. Dette skal ikke publiseres på noen som helst måte, kun en oppgave som vil være offline og vurderes av lærer. Så det mest avanserte er jeg ikke ute etter. Lenke til kommentar
Terrasque Skrevet 14. mars 2013 Del Skrevet 14. mars 2013 (endret) Et enkelt (og vanlig) system: Nytt hash: 1. Lag random string. 5-15 char er vanlig. http://stackoverflow...tring-generator 2. sha1 eller sha512 ( $random . $password ) 3. Lagre i DB som randomdata$hexofhash Sjekke hash: 1. Les hash felt fra DB 2. Splitt streng på "$" inn i $random og $hash 3. sha1 eller sha512 ( $random . $password ) 4. Sammenligne resultat med $hash. Hvis likt, riktig passord. Endret 14. mars 2013 av Terrasque 2 Lenke til kommentar
---___--- Skrevet 24. mars 2013 Del Skrevet 24. mars 2013 Jeg veit ikke om denne oppgaven allerede levert men jeg anbefaler bcrypt med random salt for hver bruker. Dette gjør at dersom en hacker finner er salt så kan han ikke bare legge det til under brute force angrep. Bcrypt er også designet for å være treg og du kan selv bestemme hvor treg den skal være. Normalt er det ca 250ms per hash. I løpet av tiden det tar å sjekke en bcrypt hash kan man sjekke tusenvis av sha haster. For info om hvordan det brukes les denne artikkelen http://oleaass.com/hashing-passwords-using-crypt-and-blowfish/ bare vær obs på at måte saltet genereres her ikke har sterk kryptografisk entropi og i et live system bør saltet generelt av enten openssl_random_pseudo_bytes eller mcrypt_create_iv Lenke til kommentar
Ernie Skrevet 6. april 2013 Del Skrevet 6. april 2013 Normalt er det ca 250ms per hash. I løpet av tiden det tar å sjekke en bcrypt hash kan man sjekke tusenvis av sha haster. Hadde det bare vært så vel, men tusenvis er ikke engang i nærheten av realiteter. Milliarder er nok ordet som bør brukes her. Ja, det er snakk om med en maskin her, og nei, jeg tuller ikke (mon tro hvor kjapt det går med highend maskinvare fra 2013…) Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå