Dipende tutto da come funziona il sistema quando decodifica la 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 semplicemente modificando il sistema per costringerlo a rivelare la password.
Un modo è l'uso di MD5 insieme a "sale" da aggiungere alla sicurezza - questo funziona sul fatto che la password viene trasformata in un codice irriconoscibile che non può essere ripristinato - un esempio di base di ciò che accade è come segue
Sistema richiede password - ad es. PAROLA D'ORDINE
Il sistema aggiunge 'sale' alla password - ad es. 1234 (la password è ora PASSWORD1234)
Il sistema usa MD5 sulla password con sale - la maggior parte delle persone saprà che PASSWORD di propria volontà genererà il codice MD5 319f4d26e3c536b5dd871bb2c52e3178 tuttavia con il sale "1234" aggiunto alla password, l'MD5 diventa 579f276ad2a77fd1698c38e3ad4d20a7 - che è un codice completamente diverso.
A questo punto il sistema non ha ancora verificato se la password fosse valida o meno, quindi passa questo nuovo codice su un'altra sezione del programma che decide se il codice MD5 corrisponde a ciò che è previsto se lo fa. il file (la password iniziale è stata scartata a lungo dalla memoria).
Affinché qualcuno possa infiltrarsi in questo tipo di password, è necessario ottenere la password iniziale che è stata digitata per prima, e successivamente scoprire se il programma ha consentito o meno l'apertura del file. Su un pezzo di software su un computer potrebbe essere possibile ottenere la password e poi 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 + sale a un altro server ( ad esempio tramite 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 un modo che è come funzionano i file zip, ad esempio, ho un file con il seguente testo ....
la volpe marrone veloce salta sul cane pigro
Gli do una password di una lettera di! ok, 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 precedente viene memorizzata come
SGD PTHBJ AQNVM ENW ITLOR NUDQ SGD K @ YX CNF
ora se qualcuno sta tentando di decrittografare questo messaggio non sai se hanno o meno la giusta password - se inseriscono la password di # invece di! avrebbero ricevuto il seguente messaggio a loro
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 alterano inizialmente la password in modo che non possa essere violato da qualcuno che devia solo il risultato - l'unica volta che a volte questo cade è quando qualcuno crea il proprio sito o programma falso e fa in modo che l'utente inserisca inizialmente la propria password nel falso programma o sito Web e naturalmente molti siti Web ora lo ottengono anche utilizzando token di autenticazione che generano password speciali valide solo per circa 5 minuti alla volta (ad esempio la chiave smart HSBC).