Zašifrovat dokument

Šifrování je proces, který překládá čitelný text do nesmyslných sekvencí bytů, takže jej může číst pouze osoba, která má dešifrovací klíč nebo tajný kód. Tento proces hraje důležitou roli při zajišťování vašeho obsahu. Pomáhá zakódovat obsah, ověřit původ dokumentu, prokázat, že obsah nebyl po odeslání změněn a zajistit, aby údaje z dokumentu byly bezpečné.

Tento článek vysvětluje, jak Aspose.Words umožňuje zašifrovat dokument a jak zkontrolovat, zda dokument má šifrování nebo ne.

Šifrovat pomocí hesla

Pro zašifrování dokumentu použijte Password vlastnost poskytnout heslo, které funguje jako kódovací klíč. Tím se změní obsah vašeho dokumentu a učiní jej nečitelným. Zašifrovaný dokument bude vyžadovat, aby toto heslo bylo zapsáno před jeho otevřením.

Níže uvedená tabulka uvádí formáty a šifrovací algoritmy podporované Aspose.Words:

Formát Podporované šifrování při načítání Podporované šifrování při ukládání
DOC, DOT XOR šifrování40-bit RC4 šifrováníCryptoAPI RC4 Šifrování RC4 Šifrování (40-bit)
DOCX, DOTX, DOCM, DOTM, FlatOPC, FlatOpcTemplate, FlatOpcMacroEnabled, FlatOpcTemplateMacroEnabled ECMA-376 Standardní šifrováníECMA-376 Agile Šifrování ECMA-376 Standardní šifrování (AES128 + SHA1)
ODT, OTT ODF šifrování (Blowfish/AES) ODF šifrování (AES256 + SHA256)
PDF - RC4 Šifrování (40/128 bitů)

Následující příklad kódu ukazuje, jak zašifrovat dokument heslem:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Write("Hello world!");
DocSaveOptions saveOptions = new DocSaveOptions { Password = "password" };
doc.Save(ArtifactsDir + "WorkingWithDocSaveOptions.EncryptDocumentWithPassword.docx", saveOptions);

Zkontrolujte, zda je dokument zašifrován

V některých případech můžete mít nečitelný dokument a chcete si být jisti, že dokument je zašifrován a není poškozen nebo komprimován.

Chcete-li zjistit, zda je dokument zašifrován a pokud je vyžadováno heslo, můžete použít IsEncrypted majetek FileFormatInfo třída. Tato vlastnost vám také umožní provést nějakou akci před načtením dokumentu, například informovat uživatele, aby poskytl heslo.

Následující příklad kódu ukazuje, jak zjistit šifrování dokumentů:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
FileFormatInfo info = FileFormatUtil.DetectFileFormat(MyDir + "Encrypted.docx");
Console.WriteLine(info.IsEncrypted);

Otevřít dokument s heslem nebo bez něj

Když jsme se ujistili, že dokument je zašifrovaný, můžeme se pokusit otevřít tento dokument bez hesla, což by mělo vést k výjimku.

Následující příklad kódu ukazuje, jak zkusit otevřít zašifrovaný dokument bez hesla:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
// We will not be able to open this document with Microsoft Word or
// Aspose.Words without providing the correct password.
Assert.Throws<IncorrectPasswordException>(() =>
new Document(MyDir + "Encrypted.docx"));

Poté, co jsme viděli, že šifrovaný dokument nelze otevřít bez hesla, můžeme se pokusit jej otevřít zadáním hesla.

Následující příklad kódu ukazuje, jak zkusit otevřít zašifrovaný dokument heslem:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
Document doc = new Document(MyDir + "Encrypted.docx", new LoadOptions("docPassword"));
doc.Save(ArtifactsDir + "WorkingWithLoadOptions.LoadSaveEncryptedDocument.odt", new OdtSaveOptions("newPassword"));