这可以使用Java中的DES算法加密和解密zip文件

时间:2012-06-30 05:22:14

标签: java des

我必须使用DES算法使用存储在文本文件中的KEY来加密和解密zip文件。加密和解密算法从文本文件中获取密钥以执行相应的功能。

是否有可用于在Java中进行DES算法的内置包...

请指导我摆脱这个问题...

2 个答案:

答案 0 :(得分:4)

你可以使用javax.crypto包中的东西:

        // read the key
    FileInputStream fis = new FileInputStream(keyFile);
    byte[] keyBytes = new byte[fis.available()];
    fis.read(keyBytes);
    SecretKeySpec spec = new SecretKeySpec(keyBytes, "DES");

    // encrypt
    Cipher encCipher = Cipher.getInstance("DES");
    encCipher.init(Cipher.ENCRYPT_MODE, spec);

    CipherInputStream cipherIn = new CipherInputStream(new FileInputStream(zipFile), encCipher);
    FileChannel out = new FileOutputStream(encZipFile).getChannel();
    out.transferFrom(Channels.newChannel(cipherIn), 0, Long.MAX_VALUE);

    // decrypt
    Cipher decCipher = Cipher.getInstance("DES");
    decCipher.init(Cipher.DECRYPT_MODE, spec);

    cipherIn = new CipherInputStream(new FileInputStream(encZipFile), decCipher);
    out = new FileOutputStream(decZipFile).getChannel();
    out.transferFrom(Channels.newChannel(cipherIn), 0, Long.MAX_VALUE);

答案 1 :(得分:0)

这是可能的。更好的是你去充气城堡。他们为此提供了API。