import java.io.BufferedWriter;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import javax.crypto.KeyGenerator;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.CipherOutputStream;
import javax.crypto.CipherInputStream;
public class Angou{
public static void main(String args[]){
try{
KeyGenerator kg = KeyGenerator.getInstance("DES");
SecretKey key = kg.generateKey();
Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding");
File file = new File("Angou.txt");
cipher.init(Cipher.ENCRYPT_MODE,key);
BufferedWriter bw = new BufferedWriter(
new OutputStreamWriter(
new CipherOutputStream(
new FileOutputStream(file),cipher)));
bw.write("暗号化します");
bw.newLine();
bw.write("これが暗号化だ!!");
bw.close();
cipher.init(Cipher.DECRYPT_MODE,key);
BufferedReader br = new BufferedReader(
new InputStreamReader(
new CipherInputStream(
new FileInputStream(file),cipher)));
//一旦一行読込まないとbr.ready()が機能しない
System.out.println(br.readLine());
while(br.ready()){
System.out.println(br.readLine());
}
br.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
最終更新:2005年08月19日 22:06