
Originariamente inviato da
sistemista
Una password criptata sarà difficile decriptarla..con gli hash tipo MD5 sappiamo benissimo che in rete cosa circola,comunque sia,spetta al programmatore cosa fare e non fare.

Una password criptata è banale da decifrare.
Perfino un hash MD5 opportunamente "salato" e reiterato è immune a qualsiasi sito ed anche alle rainbow table.
Adottando un banale "combo" (salato) tipo SHA256 (se proprio non ti fidi di SHA1) e Whirlpool non circola, e non circolerà, proprio un bel niente.
Addirittura questo
select md5(concat(md5('pippo'),'pluto'))
non è per nulla facile.
L'approccio ovviamente migliore è quello di mantenere il "sale" insieme alla password nel database, e generarlo ogni volta diverso.
In questo caso anche il banalissimo doppio md5 sopra indicato è più che sicuro.
(ri)Utilizzando invece il medesimo sale si possono avere problemi di sicurezza soprattutto se si hanno collisioni nelle password (più utenti con la stessa password), ma comunque moooolto attenuati
select md5(concat('pippo','XkefejCj3hejhXHXGAHg343y4tYT3@j3jh£###DV')
è molto, ma moooolto difficile.
Poi se vogliamo adottare le varie strategie per rallentare le bruteforce, tipo iterare un milione di volte una combinazione di funzioni hash tra le più lente (esempio whirlpool) e mixarle etc, si può rendere la vita molto dura, per non dire impossibile.
Riassunto: c'è la leggenda metropolitana che gli hash siano facili da invertire.
Non lo sono per nulla, se si adottano qualche accorgimento.
Non lo sono affatto, con gli accorgimenti giusti.
Ovviamente la crittologia è un ambito superspecialistico e superdifficile, dove basta una , per demolire quello che si pensava essere un muro invalicabile.
Certamente non alla portata dell'hobbysta medio, e anche del presunto professionista medio.
Ma seguendo quelle 4 o 5 linee guida puffff...