У меня есть много файлов .msg с зашифрованным вложением. В настоящее время я использую библиотеку apache poi. В настоящее время у меня есть код, который указывает путь к файлу .docx, .xls, .xlsx, и я могу получить расшифрованный контент. Проблема в том, что я хочу расшифровать вложение файла msg.
public static void decryptMSG(String path,String[] password) throws IOException {
MAPIMessage msg = new MAPIMessage(path);
AttachmentChunks attachments[] = msg.getAttachmentFiles();
if(attachments.length > 0) {
for (AttachmentChunks a : attachments) {
String attachname=a.attachLongFileName.toString();
ByteArrayInputStream fileIn = new ByteArrayInputStream(a.attachData.getValue());
File f = new File(path+"_decrypted"+ a.attachLongFileName.toString()); // output
OutputStream fileOut = null;
try {
fileOut = new FileOutputStream(f);
byte[] buffer = new byte[2048];
int bNum = fileIn.read(buffer);
while(bNum > 0) {
fileOut.write(buffer);
bNum = fileIn.read(buffer);
}
}
finally{
.....
}
Это обычный код для чтения вложений .msg, которые не зашифрованы.
В1: не могли бы вы сказать мне, где я могу установить пароль?
Q2: если библиотека не поддерживает установку пароля, можно ли скопировать AttachmentChunks в путь? Я имею в виду дать каждому вложенному фрагменту физический путь, где хранится вложенный фрагмент?
Q3: или если вы знаете, что какая-либо библиотека на java или python может решить расшифровку файла .msg, сообщите мне. Спасибо,