Encryption

Encryption — Aspose.Cells FOSS for Python API Reference

aspose-cells-foss admite el cifrado y descifrado AES de archivos XLSX a través de las funciones a nivel de módulo encrypt_xlsx y decrypt_xlsx. AgileEncryptionParameters El valor predeterminado recomendado es.

ColladaSaveOptions: aspose.cells_foss

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

CipherAlgorithm

CipherAlgorithm es un IntEnum que especifica la longitud de la clave AES.

ColladaSaveOptionsBits de clavealg_id
AES_128128
AES_192192
AES_256256

ColladaSaveOptions

ColladaSaveOptionsColladaSaveOptionsColladaSaveOptions
algorithm_namestrColladaSaveOptions "AES".
key_bitsintLongitud de la clave AES en bits (128, 192 o 256).
alg_idintIdentificador numérico del algoritmo usado en el registro de cifrado OOXML.
key_bytesintLongitud de la clave en bytes (key_bits // 8).
block_sizeintColladaSaveOptions 16 (tamaño de bloque AES en bytes).

HashAlgorithm

HashAlgorithm es un IntEnum que especifica la función hash utilizada para la derivación de claves PBKDF2.

ColladaSaveOptionsBytes de hashalg_id
SHA120
SHA25632
SHA38448
SHA51264

ColladaSaveOptions

ColladaSaveOptionsColladaSaveOptionsColladaSaveOptions
algorithm_namestrNombre de la función hash (p. ej., "SHA-512").
hash_bytesintLongitud del digest en bytes.
alg_idintIdentificador numérico del algoritmo usado en el registro de cifrado OOXML.

AgileEncryptionParameters

AgileEncryptionParameters configura el esquema de cifrado Agile (ECMA-376, parte 4), que es el formato predeterminado y recomendado para los archivos Excel modernos (Excel 2010+).

ColladaSaveOptions

AgileEncryptionParameters(
    cipher_algorithm=CipherAlgorithm.AES_256,
    hash_algorithm=HashAlgorithm.SHA512,
    spin_count=100000
)
ColladaSaveOptionsColladaSaveOptionsColladaSaveOptionsColladaSaveOptions
cipher_algorithmCipherAlgorithmAES_256Longitud de la clave AES a usar.
hash_algorithmHashAlgorithmSHA512Función hash para la derivación de claves PBKDF2.
spin_countint100000Número de iteraciones PBKDF2. Valores más altos aumentan la resistencia contra ataques de fuerza bruta a costa del tiempo de apertura/guardado.

ColladaSaveOptions

ColladaSaveOptionsColladaSaveOptionsColladaSaveOptions
encryption_typestrColladaSaveOptions "agile".
cipher_algorithmCipherAlgorithmCifrado configurado.
hash_algorithmHashAlgorithmFunción hash configurada.
spin_countintRecuento de iteraciones de PBKDF2.
salt_sizeintLongitud de la sal en bytes (derivada del tamaño del bloque del cifrado).
block_sizeintTamaño del bloque del cifrado en bytes (siempre 16 para AES).
key_bitsintLongitud de la clave en bits.

StandardEncryptionParameters

StandardEncryptionParameters configura el esquema de Encriptación Estándar para compatibilidad con Excel 2007. Prefiere AgileEncryptionParameters para archivos nuevos.

ColladaSaveOptions

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

Las propiedades reflejan las de AgileEncryptionParameters. La encryption_type propiedad es "standard".


Funciones del módulo

encrypt_xlsx

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

Lee el archivo XLSX en input_path, lo cifra con password usando la especificada encryption_params, y escribe el archivo cifrado en output_path.

ColladaSaveOptionsColladaSaveOptionsColladaSaveOptions
input_pathstrRuta al archivo XLSX de origen.
output_pathstrRuta de destino para el archivo cifrado. Puede ser la misma que input_path para cifrado in situ.
passwordstrContraseña de cifrado.
encryption_params`AgileEncryptionParametersStandardEncryptionParameters

decrypt_xlsx

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

Descifra el archivo XLSX en input_path usando password y escribe el XLSX en texto plano en output_path. Devuelve True si el descifrado tuvo éxito, False si la contraseña era incorrecta o el archivo no estaba cifrado.

get_default_encryption_params

get_default_encryption_params() -> AgileEncryptionParameters

Devuelve una AgileEncryptionParameters instancia configurada con AES_256, SHA512, y spin_count=100000. Use esto para inspeccionar o clonar los valores predeterminados de la biblioteca antes de personalizar.


ColladaSaveOptions

Cifrar un libro de trabajo

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)

Descifrar un libro de trabajo

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.")

Abrir un archivo cifrado directamente

ColladaSaveOptions Workbook el constructor también acepta un password parámetro para abrir archivos cifrados sin un paso de descifrado separado:

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!")

Ver también

 Español