Wenn man Passwörter verschlüsselt in einer Datanbank hinterlegt, kann man sie wieder entschlüsseln - zum Beispiel wenn der benutzer mal wieder sein Passwort vergessen hat.
Dann wird ein Neues generiert und fertig.
Passörter werden aus diesem Grund eben besser gehasht, und das mit irgendeinem "zufälligen" Zusatz.
Bei Passworteingabe erstellt man ebenfalls den Hash und vergleicht diese.
Es kommt oftmals vor, daß Welche für verschiedene Zugänge das Selbe Passwort verwenden.
Wird dann man eine Datenbank gehäckt, dann hätte man somit quasi auch das Passwort für die anderen Zugänge.
Wenn es aber überall einen anderen Zusatz gibt und der Hash (die Verschlüsselung) nicht eindeutig umkehrbar ist dann wären die anderen Zugänge noch halbwegs sicher.
PasswortHash := CalcMD5('zusatz für das Programm' + Passwort);