理解加密和解密程序的问题

时间:2014-02-13 04:23:22

标签: java encryption

我在理解这个程序时遇到了问题。我的主要疑问是秘密密钥。为什么我们在程序中提到它,因为它不安全,就像任何打开程序的人都可以加密和解密所以它是如何安全的?

这是程序 -

 package test;

 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import javax.crypto.Cipher;
 import javax.crypto.CipherInputStream;
 import javax.crypto.CipherOutputStream;
 import javax.crypto.SecretKey;
 import javax.crypto.SecretKeyFactory;
 import javax.crypto.spec.DESKeySpec;
 public class CipherExample {
    public static void main(String[] args) {
        try {
            //the string key is open here so anyone can change the key and encrypt and decrypt so i didnt understand the use of this program
            String key = "12345678";
            FileInputStream fis = new FileInputStream("original.txt");
            FileOutputStream fos = new FileOutputStream("encrypted.txt");
            encrypt(key, fis, fos);
            FileInputStream fis2 = new FileInputStream("encrypted.txt");
            FileOutputStream fos2 = new FileOutputStream("decrypted.txt");
            decrypt(key, fis2, fos2);
        } catch (Throwable e) {
            e.printStackTrace();
        }
    }

    public static void encrypt(String key, InputStream is, OutputStream os) throws Throwable {
        encryptOrDecrypt(key, Cipher.ENCRYPT_MODE, is, os);
    }
    public static void decrypt(String key, InputStream is, OutputStream os) throws Throwable {
        encryptOrDecrypt(key, Cipher.DECRYPT_MODE, is, os);
    }

0 个答案:

没有答案