Ja du hast ja recht. Asche über mein Haupt. Ich habe das in der Zwischenzeit beim durchsteppen auch gesehen, dass der Schlüssel nicht reicht.
Die 160 hatte ich ja wegen der Maximallänge von SHA-1 gewählt*. Ich habe gerade nochmal nachgeschlagen, wie das auf C#-Seite funktionieren kann und dabei ist mir aufgefallen, dass
PasswordDeriveBytes.GetBytes einfach das Bytearray pseudozufällig auf die gewünschte Länge auffüllt (
hier auch nochmal sehr schön beschrieben).
Dann muss wohl erstmal auf C#-Seite der Code angepasst werden.
*Man kann doch mit pbkdf1 und SHA-1 keinen Schlüssel > 160Bit erzeugen oder nicht? Deine pbkdf1-Funktion gibt dann ja auch kdf_err_invalid_dKLen zurück.