2016-06-29 19 views
-1

Я реализую 128-битный ключ алгоритма AES. После шифрования первые 16 байтов зашифрованных данных будут храниться в файле .docx. После этого файл .docx будет заблокирован.Запись данных в документ Word с помощью Apache poi?

XWPFDocument document = new XWPFDocument() ; 
FileOutputStream out = new FileOutputStream(filename,true);//filename is .docx word document 
XWPFParagraph paragraph = document.createParagraph(); 
XWPFRun run = paragraph.createRun(); 
run.setText(ress1);//ress1 is a String datatype 
document.write(out); 
+1

Что вы подразумеваете под «заблокированным»? С каковой проблемой вы сталкиваетесь? –

+0

, когда я открыл файл .docx. Он показывает: открытые XML-файлы Office не могут быть открыты, потому что есть проблемы с содержимым. После этого он показывает: Word нашел нечитаемый контент в word doucument. Вы хотите восстановить содержимое этого документа? – kalyan

+0

Как вы поняли, что первые 16 байтов данных хранятся, а оставшиеся данные не сохраняются? Также мне немного любопытно, почему вы хотите хранить зашифрованные данные в текстовом файле? Вы пытаетесь защитить паролем свой файл? –

ответ

1

Согласно тому, что я понимаю из вашего комментария, вы хотите зашифровать файл слова. Вы можете достичь этого, используя следующий фрагмент кода:

POIFSFileSystem fs = new POIFSFileSystem(); 
EncryptionInfo info = new EncryptionInfo(fs, EncryptionMode.agile); 

Encryptor enc = info.getEncryptor(); 
enc.confirmPassword(<your_password>); 


OPCPackage opc = OPCPackage.open(new File(<file_path>), PackageAccess.READ_WRITE); //opening package for encryption 
OutputStream os = enc.getDataStream(fs); //perform encryption 
opc.save(os); //save package 
opc.close(); 

FileOutputStream fos = new FileOutputStream("file_path"); 
fs.writeFilesystem(fos); //write the file back to file system 
fos.close(); 
+0

Я добавил выше строки sir.but нет изменений сэр. – kalyan

+0

, например, первая строка - dc3ae4d253f5620ec05848ff8847696d. Эта строка хранилась в файле .docx.После того, что так много строк генерирует. Но документ слова не добавлял эти строки в первую строку. Только первая строка была сохранена в файле .docx. – kalyan

+0

@ pavani это решило вашу проблему? –