Шифрование PDF / Расшифровка в Android? - PullRequest
3 голосов
/ 16 января 2012

Я работаю над проектом, в котором приложение использует некоторые PDF-файлы, которые хранятся на SDCard. Но мне нужно зашифровать эти файлы, чтобы они не могли нормально использоваться пользователем.

Есть ли библиотеки или API для этой проблемы. Уже используется Itext, но не работает на Android. Пожалуйста, помогите?

1 Ответ

4 голосов
/ 16 января 2012

Я написал следующий пример, используя AES для шифрования и дешифрования файлов.Посмотрите, поможет ли это

FileInputStream fis = new FileInputStream(new File("D:/Shashank/Test123.txt"));
        File outfile = new File("D:/Shashank/encTest1234.txt");
        int read;
        if(!outfile.exists())
            outfile.createNewFile();
        File decfile = new File("D:/Shashank/dec123.txt");
        if(!decfile.exists())
            decfile.createNewFile();
        FileOutputStream fos = new FileOutputStream(outfile);
        FileInputStream encfis = new FileInputStream(outfile);
        FileOutputStream decfos = new FileOutputStream(decfile);
        Cipher encipher = Cipher.getInstance("AES");
        Cipher decipher = Cipher.getInstance("AES");
        KeyGenerator kgen = KeyGenerator.getInstance("AES");
        SecretKey skey = kgen.generateKey();
        encipher.init(Cipher.ENCRYPT_MODE, skey);
        CipherInputStream cis = new CipherInputStream(fis, encipher);
        decipher.init(Cipher.DECRYPT_MODE, skey);
        CipherOutputStream cos = new CipherOutputStream(decfos,decipher);
        while((read = cis.read())!=-1)
                {
                    fos.write((char)read);
                    fos.flush();
                }   
        fos.close();
        while((read=encfis.read())!=-1)
        {
            cos.write(read);
            cos.flush();
        }
    cos.close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...