Ich habe ein Paar AES verschlüsseln/entschlüsseln Funktionen basierend auf dieser example geschrieben.Validieren Sie Schlüssel/IV, bevor Sie mit AesManaged entschlüsseln? oder vermeiden Sie CryptographicException, bevor es auftritt?
Es funktioniert gut, bis ich den falschen Schlüssel oder IV in meine Entschlüsselungsfunktion übergeben, an diesem Punkt bekomme ich die "Padding ist ungültig und kann nicht entfernt werden." CryptographicException, die andere besprochen haben.
Meine Frage ist: Gibt es eine Art, den Schlüssel/IV zu validieren, bevor die Ausnahme auftritt? Vielleicht eine Art Prüfsumme? Oder ist die Antwort nur diese Ausnahme zu fangen?
Hinweis: Wenn Sie eine gute Möglichkeit zum Speichern von Benutzerkennwörtern suchen, verwenden Sie keine Verschlüsselungsfunktion wie AES. Sie möchten eine Einweg-Hash-Funktion wie [bcrypt] (http://codahale.com/how-to-safely-store-a-password/) .... [mehr Infos] (http: //security.stackexchange .com/questions/4781/do-any-security-experts-empfehlen-bcrypt-for-password-storage/4784 # 4784) –