Enkripteer'n Dokument

Enkripsie is die proses wat leesbare teks vertaal na betekenislose volgorde van grepe sodat dit net gelees kan word deur die persoon wat die dekripsie sleutel of die geheime kode het. Hierdie proses speel’n belangrike rol in die beveiliging van u inhoud. Dit help om die inhoud te kodeer, die oorsprong van’n dokument te verifieer, te bewys dat die inhoud nie verander is nadat dit gestuur is nie, en te verseker dat die data van die dokument veilig is.

Hierdie artikel verduidelik hoe Aspose.Words jou toelaat om’n dokument te enkripteer en hoe om te kyk of’n dokument enkripsie het of nie.

Enkripteer Met Wagwoord

Om’n dokument te enkripteer, gebruik die password eienskap om’n wagwoord te verskaf wat as’n enkripsie sleutel funksioneer. Dit sal die inhoud van u dokument verander en dit onleesbaar maak. Die geënkripteerde dokument sal vereis dat hierdie wagwoord ingevoer word voordat dit oopgemaak kan word.

Die tabel hieronder bevat die formate en enkripsie algoritmes ondersteun deur Aspose.Words:

Formaat Ondersteunde Enkripsie tydens Laai Ondersteunde Enkripsie terwyl Gestoor Word
DOC, DOT XOR enkripsie 40-bit RC4 EncryptionCryptoAPI RC4 Enkripsie RC4 Enkripsie (40 - bit)
DOCX, DOTX, DOCM, DOTM, FlatOPC, FlatOpcTemplate, FlatOpcMacroEnabled, FlatOpcTemplateMacroEnabled ECMA-376 Standaard EncryptionECMA - 376 Agile Enkripsie ECMA-376 Standaard Enkripsie (AES128 + SHA1)
ODT, OTT ODF Enkripsie (Blowfish/AES) ODF Enkripsie (AES256 + SHA256)
PDF RC4 Enkripsie (40/128 bietjie)

Die volgende kode voorbeeld toon hoe om’n dokument met’n wagwoord te enkripteer:

import aspose.words as aw

# Create a document.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.write("Hello world!")

# DocSaveOptions only applies to Doc and Dot save formats.
options = aw.saving.DocSaveOptions(aw.SaveFormat.DOC);

// Set a password with which the document will be encrypted, and which will be required to open it.
options.password = "MyPassword"
doc.save(artifacts_dir + "DocSaveOptions.SaveAsDoc.doc", options)

Kontroleer Of’n Dokument Geënkripteer Is

In sommige gevalle het u moontlik’n onleesbare dokument en wil u seker wees dat die dokument geënkripteer is en nie beskadig of saamgepers is nie.

Om vas te stel of’n dokument geënkripteer is en as’n wagwoord benodig word, kan jy die is_encrypted eienskap van die FileFormatInfo klas gebruik. Hierdie eiendom sal jou ook toelaat om’n aksie uit te voer voordat jy’n dokument laai, byvoorbeeld om’n gebruiker in te lig om’n wagwoord te verskaf.

Die volgende kode voorbeeld toon hoe om die dokument enkripsie te ontdek:

import aspose.words as aw

# Create a document.
doc = aw.Document()
saveOptions = aw.saving.OdtSaveOptions(aw.SaveFormat.ODT)
saveOptions.password = "MyPassword"

doc.Save(artifacts_dir + "File.DetectDocumentEncryption.odt", saveOptions)
            
# Create a `FileFormatInfo` object for this document.
info = aw.FileFormatUtil.detect_file_format(artifacts_dir + "File.DetectDocumentEncryption.odt")

# Verify the encryption status of our document.
self.assertTrue(info.is_encrypted)

Open’n Dokument Met Of Sonder’n Wagwoord

Wanneer ons seker gemaak het dat’n dokument geënkripteer is, kan ons probeer om hierdie dokument sonder’n wagwoord oop te maak, wat tot’n uitsondering moet lei.

Die volgende kode voorbeeld toon hoe om te probeer om’n geïnkripteer dokument oop te maak sonder’n wagwoord:

import aspose.words as aw

# Create a document.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.write("Hello world!")

# OoxmlSaveOptions only applies to Docx, Docm, Dotx, Dotm, or FlatOpc formats.
options = aw.saving.OoxmlSaveOptions(aw.SaveFormat.DOCX)

# Set a password with which the document will be encrypted, and which will be required to open it.
options.password = "MyPassword"
doc.Save(artifacts_dir + "OoxmlSaveOptions.SaveAsDocx.docx", options)

# We will not be able to open this document with Microsoft Word or
# Aspose.Words without providing the correct password.
# The following line will throw an exception.
doc = aw.Document(artifacts_dir + "OoxmlSaveOptions.Password.docx"))

Nadat ons gesien het dat’n geënkripteerde dokument nie sonder’n wagwoord oopgemaak kan word nie, kan ons probeer om dit oop te maak deur die wagwoord in te voer.

Die volgende kode voorbeeld toon hoe om te probeer om’n geïnkripteer dokument met’n wagwoord oop te maak:

import aspose.words as aw

# Create a document.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.write("Hello world!")

# OoxmlSaveOptions only applies to Docx, Docm, Dotx, Dotm, or FlatOpc formats.
options = aw.saving.OoxmlSaveOptions(aw.SaveFormat.DOCX)

# Set a password with which the document will be encrypted, and which will be required to open it.
options.password = "MyPassword"
doc.Save(artifacts_dir + "OoxmlSaveOptions.SaveAsDocx.docx", options)

# Open the encrypted document by passing the correct password in a `LoadOptions` object.
doc = aw.Document(artifacts_dir + "OoxmlSaveOptions.Password.docx", aw.loading.LoadOptions("MyPassword"))

self.assertEqual("Hello world!", doc.get_text().strip())