Algoritmi MD5 nello sviluppo web

0

Sto memorizzando le password del mio sito web del college nel nostro server. Sto memorizzando le password usando il codificatore MD5. Ma il dubbio che ho avuto è dato che il decrypter è lì posso anche decodificare le password e usarle. Quindi, come queste password sono protette con me.

    
posta Baradwaj Aryasomayajula 03.12.2013 - 13:39
fonte

1 risposta

3

MD5 non è un algoritmo di crittografia. È un algoritmo di hash. L'algoritmo hash è a senso unico. Non esiste decryptor.

Gli hash vengono utilizzati per generare un'impronta digitale di una stringa di testo. La retroingegnerizzazione dell'input dall'hash dovrebbe essere impossibile. Quando la funzione hash è crittograficamente sicura, non ci dovrebbe essere modo più efficiente di provare tutti gli input possibili finché non trovi uno che ha lo stesso hash in modo coincidente.

Come si applica questo in un sistema di password?

Quando l'utente ti dice la password durante la registrazione, non la salvi. Si genera l'hash della password, si salva l'hash nel database e si dimentica di aver mai visto la password in chiaro. Quando un utente tenta di accedere, ti fornisce una password. Si genera l'hash di quella password e quando corrisponde all'hash nel database, li si lascia entrare.

Ma tieni presente che MD5 non è più una buona scelta per la crittografia della password.

  1. MD5 è un algoritmo veloce. A prima vista questo sembra un vantaggio perché rende l'autenticazione più veloce. Ma rende anche molto più facile per chiunque abbia accesso all'hash di provare le password fino a quando ne trova una che corrisponde.
  2. La sicurezza di MD5 è contestata . Nell'algoritmo sono stati scoperti molti difetti che rendono possibile la decodifica dell'input di un hash MD5 in alcuni scenari.

Per questi motivi, dovresti usare un altro algoritmo quando possibile. Una buona scelta per la crittografia della password è bcrypt , perché è stata progettata appositamente per questo scopo. Quando un'implementazione non è prontamente disponibile per il tuo framework di sviluppo, SHA-2 può essere considerata un'alternativa dove le implementazioni sono più facili venire da Non è molto più lento di MD5, il che lo rende più facile da decifrare con una potenza di calcolo sufficiente, ma non ha vulnerabilità critiche note come MD5. Per i sistemi a bassa sicurezza è ancora adeguato.

    
risposta data 03.12.2013 - 14:43
fonte

Leggi altre domande sui tag