Ich habe ein Problem beim Verschlüsseln / Entschlüsseln von Protokolldateien, die von rollingFileAppender von log4j generiert wurden. Für die Verschlüsselung habe ich versucht, den RollingFileAppender zu erweitern, nenne ihn einfach EncryptedRollingFileAppender. Ich überschreibe die Methode
%Vor%und im Grunde verwende ich CipherOutputStream und Base64OutputStream, um alles zu verschlüsseln und zu kodieren, das in den Ausgabestrom geschrieben wird. Hier ist ein Teil des Codes:
%Vor%Und dann entschlüssele ich die Datei mit diesem Code:
%Vor%Es hat nur teilweise funktioniert. Einige Texte in der Ergebnisdatei wurden korrekt entschlüsselt, andere nicht. Wenn Sie neugierig sind, das ist es, was ich teilweise verstehe:
%Vor%Ich habe auch versucht, den Algorithmus zu "DESede" zu ändern, aber es wurde noch teilweise entschlüsselt. Dann habe ich versucht, "CBC / PKCS5Padding" an beiden Enden zu verwenden, aber ich habe eine Ausnahme
%Vor%Ich gehe davon aus, dass die Verschlüsselung die Eingabe nicht richtig auffüllt, aber ich frage mich, warum ... denn wenn ich die gleichen Verschlüsselungs- und Entschlüsselungsalgorithmen ohne CipherOutputStream verwende, funktionierte das Padding ganz gut. Kann mir jemand helfen, dass das funktioniert? Jede Hilfe wird geschätzt.
PS: Sorry für mein Englisch, es ist nicht meine Muttersprache.
Sieht gut aus. Setzen Sie das Verschlüsselungsobjekt für jede Nachricht zurück / initialisieren Sie es? Wahrscheinlich möchten Sie das nicht, aber wenn Sie das tun, müssen Sie sich die Struktur der Chiffre-Datei genau überlegen, denn der Decryptor muss wissen, wo die Grenzen der Nachricht liegen.
Tags und Links java file encryption log4j