HDSoftware Skrevet 10. oktober 2008 Del Skrevet 10. oktober 2008 Heisan folkens. Fant plutselig ut at HASH codes ikek er stantard gitt. Spesiellt hvis det er forskjellige OS. VIsta64 lager en annen HASH code enn XP 32bit. Bare til info altså ;-) Derfor: Ikke bruk HASH for å lagre passord i databaser. Du vil gå på en smell.......BOIONK!! Lenke til kommentar
GeirGrusom Skrevet 10. oktober 2008 Del Skrevet 10. oktober 2008 (endret) hvilken hash funksjon snakker du om? CRC? MD5? SHA1? Jeg bruker nemlig SHA256 i en database smertefritt... men jeg vet ærlig talt ikke hvilket operativsystem brukerne har (annet en windows) og et problem jeg har hatt er at jeg må innimellom resette passordet til noen av brukerne... kanskje det har noe med dette å gjøre? eller at brukerne glemmer passordet sitt... Endret 10. oktober 2008 av GeirGrusom Lenke til kommentar
HDSoftware Skrevet 10. oktober 2008 Forfatter Del Skrevet 10. oktober 2008 hvilken hash funksjon snakker du om? CRC? MD5? SHA1?Jeg bruker nemlig SHA256 i en database smertefritt... men jeg vet ærlig talt ikke hvilket operativsystem brukerne har (annet en windows) og et problem jeg har hatt er at jeg må innimellom resette passordet til noen av brukerne... kanskje det har noe med dette å gjøre? eller at brukerne glemmer passordet sitt... Dette har nok i aller høyeste grad med dette å gjøre. Det står faktisk dokumentert i MSDN at HASH ikek nødvendigvis holder seg til samme verdi hele tiden på grunn av "effektiviseringer". Håpløst spør du meg, men dette er det nok M$ som bestemmer... Jeg bruker enkelt og greit GetHashcode() metoden. Den returnerer en INT. Utrklipp fra MSDN: "The behavior of GetHashCode is dependent on its implementation, which might change from one version of the common language runtime to another. A reason why this might happen is to improve the performance of GetHashCode" Lenke til kommentar
GeirGrusom Skrevet 10. oktober 2008 Del Skrevet 10. oktober 2008 Du kan override GetHashCode hvis du har problemer med den, jeg bruker ikke GetHashCode. Lenke til kommentar
steingrim Skrevet 11. oktober 2008 Del Skrevet 11. oktober 2008 Hvis du skal override GetHashCode så pass på at du også override Equals slik at de stemmer overens. Lenke til kommentar
GeirGrusom Skrevet 11. oktober 2008 Del Skrevet 11. oktober 2008 Hvis du skal override GetHashCode så pass på at du også override Equals slik at de stemmer overens. Programmet vil vel ikke engang kompilere hvis en ikke overrider equals også hvis jeg ikke husker helt feil. Jeg bruker dette i grafikkmotoren min for å hindre at en tekstur eller modell blir lastet flere ganger. Det blir generert en MD5 hash av filnavnet som deretter brukes for å sammenligne f.eks. to Texture klasser, og som brukes av grafikkmotoren for å slå opp teksturen i den interne lista over lastede teksturer. Lenke til kommentar
Glenn F. Henriksen Skrevet 13. oktober 2008 Del Skrevet 13. oktober 2008 Du kan godt bruke et hash, bare ikke bruk GetHashCode() for ting den ikke er beregnet til å brukes til. Bruk en standard hashing algoritme som er garantert til å fungere likt på tvers av OS, språk og tid, f.eks. SHA256 som er et godt alternativ. Og mens vi er inne på hashing av passord i databasen, ta med et salt (unikt pr passord) når du hasher passordet. Det gjør det vanskeligere å knekke passordene ved hjelp av ordlister. 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å