SHA256 vs SHA512

Tags:    php sikkherhed

Hejsa.

Jeg er startet helt forfra med mit system.
Jeg har lavet tabeller, tegninger og meget andet for nemmere at kunne holde overblikket.

Systemet behøver ikke en stor forklaring. Det er blot et system som jeg skal bruge privat til at holde styr på alle mine papire, så jeg derved ikke skal arkivere dem i mapper, men at jeg let og overskueligt har adgang til dem online.

Jeg er dog i tvivl om hvad jeg skal vælge for en kryptering til mit login.
Jeg er i tvivl om hvad fordele og ulemper er ved de to.

SHA256 er jo en 64 karakter lang streng hvorimod at SHA512 er dobbelt så stor. Jeg sidder og tænker om det kan betale sig for mig at anvende 512.
Jeg havde også i tankerne at jeg kunne vælge i systemet hvad jeg vil anvende (altså lave en funktionalitet der gør det muligt), men dette gik jeg væk fra da jeg lige så godt fra starten kan tage valget.

Nogen gode bud / forslag?



9 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 21 karma
Sorter efter stemmer Sorter efter dato
Er man lidt paranoid? :-)

Det HELT rigtige at bruge i forbindelse med passwords er 'crypt()' funktionen: http://php.net/manual/en/function.crypt.php

Der kan du specificere hvilken algoritme der skal bruges, og så gør den en hel masse andet samtidig...genererer salt, hasher multiple gange, osv.

SHA256 burde være mere end rigeligt, men det bliver nok ikke her flaskehalsen ligger, så det er nok lidt ligegyldigt, hvilken du ender ud med.



Tjoeh, men den laver også som jeg skrev automatisk et tilfældigt salt og hasher pr. default (kan konfigureres) 5000 gange.
De 5000 hashings gør, at det tager 5000 gange så lang tid at brute force eller at bygge en rainbow table.



Crypt fungere vel i grundtræk lige som hash(), eller hvad?





Kiggede godt lidt på den. Men forstår mig ikke rigtig på konfigureringen af den :S

Du/i må lige rette mig hvis jeg misforstår:

Fold kodeboks ind/udPHP kode 


rasmuslerdorf = kodeordet der indtastes
$5$ = fortæller det er sha256
rounds=5000 = er antal gange det salter
$usesomesillystringforsalt$ = min salt som jeg selv difinere

Er jeg helt galt på den eller har jeg forstået det rigtigt?


Glemte helt at svare på om jeg er paranoid.
Dog ikke, men man kan jo aldrig vide.
Men det kunne dog være rart at det ikke sådan uden videre lige bliver lagt ned eller en eller anden kan komme ind og se mine papire.
Ved godt at hvis man vil så kan man også. Men ville dog gerne sætte det op så det måske afskrækker det fleste. :D



Indlæg senest redigeret d. 26.10.2012 22:10 af Bruger #15663
crypt() er lidt...kryptisk
Her er et eksempel:

Fold kodeboks ind/udPHP kode 





Jeg er meget i tvivl omkring ln 12.

Fold kodeboks ind/udPHP kode 


Hvorfor ligger der en hashed inde i crypt?



Det er det smarte :-)
Hvis du kigger på output fra crypt(), så starter det med '$6$rounds=10000$ÆØÅæøå,ABC$', som også var vores argument i det første kald.

Så output indeholder konfigurationen, og derfor kan den være dynamisk og vi behøver ikke at gemme konfigurationen separat. F.eks.:

Fold kodeboks ind/udPHP kode 


Bare gem output fra crypt...den indeholder vores tilfældigt genererede salt og det tilfældigt genererede antal runder.



Så det vil Robert at crypt det er langt bedre endnu bare sha1 med salt eller hvad?



Njaa. SHA funktionerne kan bruges til mange ting, men crypt er lavet til password hashing. Du kunne gøre det samme med de generiske funktioner men her er det gjort for os. Det er forøvrigt også crypt, som Unix systemerne bruger til systembrugerne. Tag et kig i /etc/shadow hvis du har adgang til et Linux system.



Indlæg senest redigeret d. 27.10.2012 12:06 af Bruger #2695
t