Расшифровать содержимое зашифрованного файла?

У меня возникла проблема с расшифровкой файла с использованием расшифровки с открытым ключом RSA. Мой процесс состоит в том, чтобы получить файл xml, зашифровать содержимое и записать его обратно в тот же файл. Другая функция расшифровывает содержимое. Мой исходный код:

public void decryptFile(String fileName,PrivateKey privateKey) throws Exception {
    Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
    cipher.init(Cipher.DECRYPT_MODE, privateKey);
    FileInputStream fis = new FileInputStream(fileName);
    File file=new File("decryptedfile.xml");
    if(file.exists()) {
        file.delete();
    }
            FileOutputStream fos = new FileOutputStream("decryptedfile.xml");
    CipherInputStream cis = new CipherInputStream(fis, cipher);
    int i;
    byte[] block = new byte[32];
    //System.out.println("Read : "+cis.read(block));
    while ((i = cis.read(block)) != -1) {
        System.out.println(String.valueOf(i));
        fos.write(block, 0, i);
    }
    fos.close();
}

Я просто передаю в функцию имя зашифрованного файла и соответствующее значение закрытого ключа. Однако cis.read(block)возвращает -1 при первой попытке. Кто-нибудь может подсказать, как расшифровать зашифрованный файл?

6
задан Leigh 17 June 2012 в 04:35
поделиться