· 6 years ago · Aug 09, 2019, 09:04 AM
1import java.io.*;
2import java.io.FileInputStream;
3import java.io.FileOutputStream;
4import java.security.Key;
5import javax.crypto.Cipher;
6import javax.crypto.CipherOutputStream;
7import javax.crypto.KeyGenerator;
8import sun.misc.BASE64Encoder;
9public class BlowFish {
10public static void main(String[] args) throws Exception {
11
12KeyGenerator keyGenerator = KeyGenerator.getInstance("Blowfish");
13keyGenerator.init(128);
14Key secretKey = keyGenerator.generateKey();
15Cipher cipherOut = Cipher.getInstance("Blowfish/CFB/NoPadding");
16cipherOut.init(Cipher.ENCRYPT_MODE, secretKey);
17BASE64Encoder encoder = new BASE64Encoder();
18byte iv[] = cipherOut.getIV();
19if (iv != null) {
20System.out.println("Initialization Vector of the Cipher:"+ encoder.encode(iv)); }
21FileInputStream fin = new FileInputStream("inputFile.txt");
22FileOutputStream fout = new FileOutputStream("outputFile.txt");
23CipherOutputStream cout = new CipherOutputStream(fout, cipherOut);
24int input = 0;
25while ((input = fin.read()) != -1) {
26cout.write(input); }
27fin.close();
28cout.close();
29}
30}