2016-06-29 19 views
-1

Ich implementiere AES Algorithmus 128 Bit Schlüssel. Nach der Verschlüsselung werden die ersten 16 Byte der verschlüsselten Daten in einer .docx-Datei gespeichert. Danach wird die .docx-Datei blockiert.Schreiben Sie Daten in Word-Dokument mit 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

Was meinen Sie mit "blockiert"? Welches genaue Problem haben Sie? –

+0

wenn ich geöffnet. DOCX-Datei Es zeigt: Die Office Open XML-Dateien können nicht geöffnet werden, da es Probleme mit den Inhalten gibt. Danach zeigt: Word gefunden unlesbaren Inhalt in Word doucument.Möchten Sie den Inhalt dieses Dokuments wiederherstellen? – kalyan

+0

Wie haben Sie gedacht, dass die ersten 16 Datenbytes gespeichert werden und die restlichen Daten nicht gespeichert werden? Auch bin ich ein bisschen neugierig darauf, warum Sie verschlüsselte Daten in Word-Dateien speichern möchten? Versuchen Sie, Ihre Datei mit einem Passwort zu schützen? –

Antwort

1

Nach was ich von Ihrem Kommentar verstehe, möchten Sie Ihre Word-Datei verschlüsseln. Sie können das mit folgendem Code-Snippet erreichen:

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

Ich habe obige Zeilen hinzugefügt Sir.aber es gibt keine Änderung Herr. – kalyan

+0

zum Beispiel erste String ist dc3ae4d253f5620ec05848ff8847696d. Diese Zeichenkette wurde in der .docx Datei gespeichert. Nachdem so viele Zeichenketten generiert wurden. Word Dokument hat diese Zeichenketten nicht an die erste Zeichenkette angehängt. Erst wurde die Zeichenkette in der .docx Datei gespeichert. – kalyan

+0

@pavani hat das dein Problem gelöst? –