Die Codekopie lautet wie folgt:
importieren java.io.BytearrayInputStream;
importieren java.io.BytearrayoutputStream;
Import Java.io.file;
import Java.io.FileInputStream;
importieren java.io.fileoutputStream;
importieren java.io.inputstream;
importieren java.io.outputstream;
Java.security.securerandom importieren;
importieren javax.crypto.cipher;
importieren javax.crypto.cipherinputStream;
importieren javax.crypto.secretkey;
importieren javax.crypto.secretkeyFactory;
importieren javax.crypto.spec.deskeyspec;
importieren javax.crypto.spec.ivparameterspec;
öffentliche Klasse Schicksal {
private statische Final String Passkey = "AFASDF";
private statische endgültige String Deskey = "ASFSDFSDF";
/**
* @Comments: Verschlüsseln Sie die Datei
* @param filepath filepath zu verschlüsseln
* @param Dateiname -Datei
* @param Modus Verschlüsselungsmodus Verschlüsselung: cipher.encrypt_mode entschlüsselt: cipher.decrypt_mode
* @zurückkehren
*/
öffentliches statisches String -EncoderordeCoder (String Filepath, String Dateiname, int -Modus) {
InputStream ist = null;
OutputStream out = null;
Cipherinputstream cis = null;
versuchen {
Securerandom sr = new Securerandom ();
Deskeyspec dks = new Deskeyspec (Deskey.getBytes ());
SecryKeyFactory keyFactory = secryKeyFactory.getInstance ("Des");
SecretKey SecureKey = KeyFactory.generateSecret (DKS);
Ivparameterspec iv = new ivparameterspec (passkey.getBytes ());
Cipher cipher = cipher.getInstance ("DES/CBC/PKCS5Padding");
Cipher.init (Modus, SecureKey, IV, SR);
Datei ccoderfile = neue Datei (FilePath + Datei.Separator + "Encoder");
if (! ccoderfile.exists ()) {
CCODERFILE.MKDIR ();
}
is = new FileInputStream (FilePath + Datei.Separator + Dateiname);
out = new FileOutputStream (Filepath + Datei.Separator + "Encoder"
+ Datei.Separator + Dateiname);
cis = neuer Cipherinputstream (IS, Cipher);
byte [] buffer = neues byte [1024];
int r;
while ((r = cis.read (puffer))> 0) {
out.write (Puffer, 0, r);
}
} catch (Ausnahme e) {
E. printstacktrace ();
} Endlich {
versuchen {
if (ist! = null) {
IS.CLOSE ();
}
if (cis! = null) {
cis.close ();
}
if (out! = null) {
out.close ();
}
} catch (Ausnahme e1) {
}
}
Rückgabe filepath + file.separator + "codierer" + file.separator
+ Dateiname;
}
/**@Kommentare: Verschlüsselungsketten
* @param src Source String
* @param Modus Verschlüsselungsmodus Verschlüsselung: cipher.encrypt_mode entschlüsselt: cipher.decrypt_mode
* @zurückkehren
*/
öffentliches statisches String -EncoderordeCoder (String SRC, int -Modus) {
String tag = "";
InputStream ist = null;
OutputStream out = null;
Cipherinputstream cis = null;
versuchen {
Securerandom SR = new Securerandom ();
Deskeyspec dks = new Deskeyspec (Deskey.getBytes ());
SecryKeyFactory keyFactory = secryKeyFactory.getInstance ("Des");
SecretKey SecureKey = KeyFactory.generateSecret (DKS);
Ivparameterspec iv = new ivParameterspec (passkey.getBytes ());
Cipher cipher = cipher.getInstance ("DES/CBC/PKCS5Padding");
Cipher.init (Modus, SecureKey, IV, SR);
cis = neuer CipherinputStream (neuer BytearrayinputStream (src.getBytes ()), Cipher);
out = new bytearrayoutputStream ();
byte [] buffer = neues byte [1024];
int r;
while ((r = cis.read (puffer))> 0) {
out.write (Puffer, 0, r);
}
Tag = out.toString ();
} catch (Ausnahme e) {
E. printstacktrace ();
} Endlich {
versuchen {
if (ist! = null) {
is.close ();
}
if (cis! = null) {
cis.close ();
}
if (out! = null) {
out.close ();
}
} catch (Ausnahme e1) {
}
}
Rückgabe -Tag;
}
public static void main (String [] args) {
System.out.println ("AAA");
String t = ccoderordecoder ("aaa", cipher.encrypt_mode);
System.out.println (t);
System.out.println (ccoderordecoder (t, cipher.decrypt_mode));
}
}