Encryption

Encryption — Aspose.Cells FOSS for Python API Reference

aspose-cells-foss मॉड्यूल-स्तरीय फ़ंक्शनों के माध्यम से XLSX फ़ाइलों की AES एन्क्रिप्शन और डिक्रिप्शन का समर्थन करता है encrypt_xlsx और decrypt_xlsx. दो पैरामीटर क्लासें सिफर एल्गोरिद्म, हैश एल्गोरिद्म, और PBKDF2 स्पिन काउंट को कॉन्फ़िगर करती हैं। अनुशंसित डिफ़ॉल्ट है AgileEncryptionParameters AES-256 और SHA-512 के साथ।.

ImageRenderOptions: aspose.cells_foss

from aspose.cells_foss import (
    CipherAlgorithm, HashAlgorithm,
    AgileEncryptionParameters, StandardEncryptionParameters,
    encrypt_xlsx, decrypt_xlsx, get_default_encryption_params,
)

CipherAlgorithm

CipherAlgorithm एक है IntEnum जो AES कुंजी की लंबाई निर्दिष्ट करता है।.

ImageRenderOptionsकुंजी बिट्सalg_id
AES_128128
AES_192192
AES_256256

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptions
algorithm_namestrImageRenderOptions "AES".
key_bitsintAES कुंजी की लंबाई बिट्स में (128, 192, या 256)।.
alg_idintOOXML एन्क्रिप्शन रिकॉर्ड में उपयोग किया गया संख्यात्मक एल्गोरिद्म पहचानकर्ता।.
key_bytesintबाइट्स में कुंजी लंबाई (key_bits // 8).
block_sizeintImageRenderOptions 16 (AES ब्लॉक आकार बाइट्स में)।.

HashAlgorithm

HashAlgorithm एक है IntEnum जो PBKDF2 कुंजी व्युत्पन्न के लिए उपयोग किए जाने वाले हैश फ़ंक्शन को निर्दिष्ट करता है।.

ImageRenderOptionsहैश बाइट्सalg_id
SHA120
SHA25632
SHA38448
SHA51264

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptions
algorithm_namestrहैश फ़ंक्शन का नाम (जैसे,., "SHA-512").
hash_bytesintडाइजेस्ट की लंबाई बाइट्स में।.
alg_idintOOXML एन्क्रिप्शन रिकॉर्ड में उपयोग किया गया संख्यात्मक एल्गोरिद्म पहचानकर्ता।.

AgileEncryptionParameters

AgileEncryptionParameters Agile Encryption योजना (ECMA-376, भाग 4) को कॉन्फ़िगर करता है, जो आधुनिक Excel फ़ाइलों (Excel 2010+) के लिए डिफ़ॉल्ट और अनुशंसित फ़ॉर्मेट है।.

ImageRenderOptions

AgileEncryptionParameters(
    cipher_algorithm=CipherAlgorithm.AES_256,
    hash_algorithm=HashAlgorithm.SHA512,
    spin_count=100000
)
ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
cipher_algorithmCipherAlgorithmAES_256उपयोग करने की AES कुंजी की लंबाई।.
hash_algorithmHashAlgorithmSHA512PBKDF2 कुंजी व्युत्पन्न करने के लिए हैश फ़ंक्शन।.
spin_countint100000PBKDF2 इटरेशन की संख्या। उच्च मान ओपन/सेव समय की कीमत पर ब्रूट‑फ़ोर्स प्रतिरोध को बढ़ाते हैं।.

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptions
encryption_typestrImageRenderOptions "agile".
cipher_algorithmCipherAlgorithmकॉन्फ़िगर किया गया सिफर।.
hash_algorithmHashAlgorithmकॉन्फ़िगर किया गया हैश फ़ंक्शन।.
spin_countintPBKDF2 इटरेशन काउंट।.
salt_sizeintसॉल्ट की लंबाई बाइट्स में (सिफर ब्लॉक आकार से प्राप्त)।.
block_sizeintसिफर ब्लॉक आकार बाइट्स में (हमेशा 16 AES के लिए)।.
key_bitsintबिट में कुंजी की लंबाई।.

StandardEncryptionParameters

StandardEncryptionParameters Excel 2007 के साथ संगतता के लिए Standard Encryption योजना को कॉन्फ़िगर करता है। Prefer AgileEncryptionParameters नई फ़ाइलों के लिए।.

ImageRenderOptions

StandardEncryptionParameters(
    cipher_algorithm=CipherAlgorithm.AES_128,
    hash_algorithm=HashAlgorithm.SHA1,
    spin_count=50000
)

गुणधर्म उन … के समान हैं AgileEncryptionParameters. यह encryption_type गुणधर्म है "standard".


मॉड्यूल फ़ंक्शन

encrypt_xlsx

encrypt_xlsx(
    input_path: str,
    output_path: str,
    password: str,
    encryption_params=None
) -> None

XLSX फ़ाइल को यहाँ पढ़ता है input_path, इसे … के साथ एन्क्रिप्ट करता है password निर्दिष्ट … का उपयोग करके encryption_params, और एन्क्रिप्टेड फ़ाइल को यहाँ लिखता है output_path.

ImageRenderOptionsImageRenderOptionsImageRenderOptions
input_pathstrस्रोत XLSX फ़ाइल का पथ।.
output_pathstrएन्क्रिप्टेड फ़ाइल के लिए गंतव्य पथ। यह समान हो सकता है जैसा कि input_path इन-स्थान एन्क्रिप्शन के लिए।.
passwordstrएन्क्रिप्शन पासवर्ड।.
encryption_params`AgileEncryptionParametersStandardEncryptionParameters

decrypt_xlsx

decrypt_xlsx(
    input_path: str,
    output_path: str,
    password: str
) -> bool

XLSX फ़ाइल को डिक्रिप्ट करता है स्थित input_path का उपयोग करके password और प्लेनटेक्स्ट XLSX को लिखता है output_path. लौटाता है True यदि डिक्रिप्शन सफल हुआ, False यदि पासवर्ड गलत था या फ़ाइल एन्क्रिप्ट नहीं थी।.

get_default_encryption_params

get_default_encryption_params() -> AgileEncryptionParameters

एक लौटाता है AgileEncryptionParameters उदाहरण जो कॉन्फ़िगर किया गया है AES_256, SHA512, और spin_count=100000. इसका उपयोग करके लाइब्रेरी की डिफ़ॉल्ट सेटिंग्स को कस्टमाइज़ करने से पहले निरीक्षण या क्लोन करें।.


ImageRenderOptions

Workbook को एन्क्रिप्ट करें

from aspose.cells_foss import Workbook, encrypt_xlsx, AgileEncryptionParameters, CipherAlgorithm, HashAlgorithm

# 1. Build and save an unencrypted workbook
wb = Workbook()
ws = wb.worksheets[0]
ws.cells["A1"].put_value("Confidential data")
wb.save("report.xlsx")

# 2. Encrypt with default AES-256/SHA-512 settings
encrypt_xlsx("report.xlsx", "report_secure.xlsx", password="MyP@ssw0rd!")

# 3. Alternatively, use a lower spin count for faster open/save cycles during development
params = AgileEncryptionParameters(
    cipher_algorithm=CipherAlgorithm.AES_256,
    hash_algorithm=HashAlgorithm.SHA256,
    spin_count=10000,
)
encrypt_xlsx("report.xlsx", "report_dev.xlsx", password="dev_only", encryption_params=params)

Workbook को डिक्रिप्ट करें

from aspose.cells_foss import decrypt_xlsx, Workbook

success = decrypt_xlsx("report_secure.xlsx", "report_decrypted.xlsx", password="MyP@ssw0rd!")

if success:
    wb = Workbook("report_decrypted.xlsx")
    print(wb.worksheets[0].cells["A1"].value)
else:
    print("Incorrect password or file is not encrypted.")

एन्क्रिप्टेड फ़ाइल को सीधे खोलें

ImageRenderOptions Workbook कंस्ट्रक्टर भी एक password पैरामीटर जिससे एन्क्रिप्टेड फ़ाइलों को अलग डिक्रिप्शन चरण के बिना खोला जा सके:

from aspose.cells_foss import Workbook

wb = Workbook("report_secure.xlsx", password="MyP@ssw0rd!")
print(wb.worksheets[0].cells["A1"].value)
wb.save("report_updated_secure.xlsx", password="MyP@ssw0rd!")

संबंधित देखें

 हिन्दी