возможно ли зашифровать и расшифровать zip-файл с использованием алгоритма DES в java

Мне нужно зашифровать и расшифровать zip-файл с помощью алгоритма DES, используя КЛЮЧ, который хранится в текстовом файле. Алгоритм шифрования и дешифрования берет ключ из текстового файла для выполнения соответствующих функций.

Существуют ли какие-либо встроенные пакеты для выполнения алгоритма DES в java...

Пожалуйста, помогите мне избавиться от этой проблемы...


person Saravanan    schedule 30.06.2012    source источник
comment
Почему бы не установить \ пароль для zip, а не для шифрования и дешифрования?   -  person Anuj Balan    schedule 30.06.2012
comment
Не забывайте, что DES не работает. Используйте (как минимум) тройной дес или, что еще лучше, современный алгоритм вроде AES.   -  person Cameron Skinner    schedule 26.07.2012


Ответы (2)


вы можете использовать материал из пакета 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);
person Pavel K.    schedule 30.06.2012

Это возможно. Лучше использовать bouncy castly. Для этого они предоставляют API.

person SIVAKUMAR.J    schedule 26.07.2012