Wie anzunehmen (oder zu befürchten) war: random() liefert (auch bei festem Seed) nicht immer dieselben Werte. Deshalb kann es nicht gehen.
Mit fester Maske (ich mag gar nicht von Verschlüsselung reden) geht es:
Zeile 38:
int mask = 0x53; /*random(1,30); */
Ergebnis:
Passwort verschlüsselt: 2 : 6:=a6 '
Passwort entschlüsselt: DasiseinTest