我必须使用 DES 算法加密和解密 zip 文件,方法是使用存储在文本文件中的密钥。加密和解密算法都从文本文件中获取密钥来执行相应的功能。
是否有任何内置包可用于在 java 中执行 DES 算法...
请指导我摆脱这个问题......
你可以使用 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);
这是可能的。你最好选择有弹性的castly。他们为此提供了API。