Domanda

Sto cercando un semplice algoritmo di crittografia unidirezionale non brevettato, preferibilmente in c.Vorrei usarlo per convalidare le password.

È stato utile?

Soluzione

SHA-1 e il resto della sua famiglia sono stati brevettati dal governo statunitense che “ha rilasciato il brevetto sotto licenza royalty free”.Molte implementazioni di dominio pubblico possono essere trovati tramite Google. :-)

Altri suggerimenti

Il nome corretto per "algoritmo di crittografia unidirezionale" è "algoritmo di hashing" (intendi un modo per "codificare" una password in modo che non possa mai essere recuperata, giusto?)

Non utilizzare md5 nelle applicazioni moderne, gli attacchi riusciti contro di esso si sono verificati dal 2004 (vedi http://www.doxpara.com/md5_someday.pdf per riferimenti).Utilizza la famiglia SHA.

Infatti usare un hash non è sufficiente.dovresti usare a sale per limitarli e una tecnica più avanzata come bcrypt limita le possibilità di indovinare la password

basta usare la funzione crypt(3).

ecco il sfondo

SHA-1 sembra un buon suggerimento o, se ritieni che SHA-1 sia prossimo al cracking, uno della famiglia SHA-2.

Potresti ritenere che MD5 non sia abbastanza "sicuro".

MD5 mi è andato bene finora.

MD5 e SHA512 (o un'altra variante SHA-2) hanno entrambi delle vulnerabilità teoriche identificate.Non penso che SHA sia stato ancora dimostrato come rotto, ma la possibilità esiste.Whirlpool è un algoritmo di hash royalty free che (finora) non ha mostrato alcun punto debole.Questa pagina ha un collegamento all'implementazione di riferimento C.

Perché MD5 o SHA1 non funzionano per te?

/Allan

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top