myencryptor.java
来自「对文件进行加密」· Java 代码 · 共 102 行
JAVA
102 行
import java.security.*;
import javax.crypto.*;
import java.util.*;
import java.io.*;
import java.net.*;
import sun.misc.*;
public class MyEncryptor{
public static void getKey(){
try{
KeyGenerator keyGenerator=KeyGenerator.getInstance("DES","BC");
keyGenerator.init(56);
SecretKey key=keyGenerator.generateKey();
FileOutputStream fkout = new FileOutputStream("key");
ObjectOutputStream kout = new ObjectOutputStream(fkout);
kout.writeObject((Object)key);
fkout.close();
}catch(Exception e){
System.out.print(e);
}
}
public static void encryptFile(String filename,String keyfile,String fileoutname){
try{
FileInputStream fkin = new FileInputStream("key");
ObjectInputStream kin = new ObjectInputStream(fkin);
SecretKey key = (SecretKey)kin.readObject();
Cipher cipher=Cipher.getInstance("DES/ECB/PKCS5Padding","BC");
cipher.init(Cipher.ENCRYPT_MODE,key);
FileInputStream fin = new FileInputStream(filename);
FileOutputStream fout = new FileOutputStream(fileoutname);
BASE64Encoder encoder = new BASE64Encoder();
byte[] buff = new byte[10000];
int len;
while((len=fin.read(buff))!=-1){
String str = new String(encoder.encode(cipher.doFinal(buff,0,len)));
fout.write(str.getBytes());
}
fin.close();
fout.close();
}catch(Exception e){
System.out.print(e);
}
}
public static void decryptFile(String filename,String keyfile,String fileoutname){
try{
FileInputStream fkin = new FileInputStream("key");
ObjectInputStream kin = new ObjectInputStream(fkin);
SecretKey key = (SecretKey)kin.readObject();
FileInputStream fin = new FileInputStream(filename);
FileOutputStream fout = new FileOutputStream(fileoutname);
Cipher cipher=Cipher.getInstance("DES/ECB/PKCS5Padding","BC");
cipher.init(Cipher.ENCRYPT_MODE,key);
cipher.init(Cipher.DECRYPT_MODE,key);
BASE64Decoder decoder = new BASE64Decoder();
byte[] buff1 = decoder.decodeBuffer(fin);
fout.write(cipher.doFinal(buff1));
fin.close();
fout.close();
}catch(Exception e){
System.out.print(e);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?