Tutto dipende da come funziona il sistema durante la decodifica della password.
Stai immaginando un sistema di password di tipo "log in" molto semplice che potrebbe essere infiltrato. Tuttavia, qualcosa come i file ZIP e i siti Web utilizzano vari metodi per combattere le persone che modificano il sistema per costringerlo a rivelare la password.
Un modo è l'uso di MD5 insieme a "salt" per aumentare la sicurezza: questo funziona sul fatto che la password viene trasformata in un codice irriconoscibile che non può essere restituito - un esempio di base di ciò che accade è il seguente
Il sistema richiede la password - ad es. PASSWORD Il sistema aggiunge "salt" alla password, ad es. 1234 (la password ora è PASSWORD1234) Il sistema utilizza MD5 sulla password con salt - la maggior parte delle persone saprà che PASSWORD da sola genererà il codice MD5 319f4d26e3c536b5dd871bb2c52e3178 tuttavia con il sale "1234" aggiunto alla password l'MD5 ora diventa 579f276ad2a77fd1698c2038e3 - un codice completamente diverso.
A questo punto il sistema non ha ancora verificato se quella password fosse valida o meno, quindi passa questo nuovo codice ad un'altra sezione del programma che decide se il codice MD5 corrisponde a ciò che ci si aspetta se lo fa mostra il file (la password iniziale è stata a lungo scartata dalla memoria).
Affinché qualcuno possa infiltrarsi in questo tipo di password, dovrebbe ottenere la password iniziale che è stata digitata prima, e poi in seguito scopri se il programma ha consentito l'apertura del file. Su un software su un computer potrebbe essere possibile ottenere la password e quindi controllare in seguito per vedere se il file è stato aperto e ottenere la password in questo modo, tuttavia se la password viene inviata come MD5 + salt a un altro server ( per esempio attraverso javascript e PHP) diventa molto più complicato perché un computer ha la password nella sua memoria che converte e il server php ha solo la password md5 + salt che non può essere riconvertita.
Inoltre un altro metodo utilizzato è quello di prendere la password e codificarla all'interno dei dati in qualche modo, che è il modo in cui funzionano i file zip, ad esempio ho un file con il seguente testo ....
la rapida volpe marrone salta sopra il cane pigro
Gli do una password di una lettera di! ok lo so che è un po 'semplice ma questo è un semplice esempio - il computer potrebbe convertirlo! nel suo equivalente ASCII e sottrarre il codice ASCII di ogni lettera da esso per codificarlo - il codice ASCII per! è 33 e il codice ASCII per t è 116 e 116-33 = 83 che è il codice ASCII per una lettera maiuscola S quindi quando i dati vengono crittografati la riga sopra viene archiviata come
SGD PTHBJ AQNVM ENW ITLOR NUDQ SGD K @ YX CNF
ora se qualcuno sta cercando di decriptare questo messaggio non sai se ha o meno la password corretta - se ha inserito la password # invece di! riceverebbero loro il seguente messaggio
vjg swkem dtqyp hqz lworu qxgt vjg nc | {fqi
che non ha alcun senso - quindi la maggior parte dei sistemi controlla effettivamente la validità di una password, ma inizialmente alterano la password in modo che non possa essere hackerata da qualcuno semplicemente deviando il risultato - l'unica volta che questo a volte cade è quando qualcuno crea il proprio sito Web o programma falso e induce l'utente a inserire inizialmente la propria password nel programma o nel sito Web fasullo e, naturalmente, molti siti Web ora lo stanno persino aggirando utilizzando token di autenticazione che generano password speciali valide solo per circa 5 minuti alla volta (ad esempio la chiave intelligente HSBC).