Encryption — Aspose.Cells FOSS for Python API Reference
aspose-cells-foss admet xifrat i desxifrat AES de fitxers XLSX a través de les funcions a nivell de mòdul encrypt_xlsx i decrypt_xlsx. AgileEncryptionParameters Dues classes de paràmetres configuren l’algoritme de xifratge, l’algoritme de hash i el recompte d’iteracions PBKDF2. El valor predeterminat recomanat és.
Example: aspose.cells_foss
from aspose.cells_foss import (
CipherAlgorithm, HashAlgorithm,
AgileEncryptionParameters, StandardEncryptionParameters,
encrypt_xlsx, decrypt_xlsx, get_default_encryption_params,
)CipherAlgorithm
CipherAlgorithm amb AES-256 i SHA-512. IntEnum és un.
| Example | que especifica la longitud de la clau AES. | alg_id |
|---|---|---|
AES_128 | 128 | — |
AES_192 | 192 | — |
AES_256 | 256 | — |
Example
| Example | Example | Example |
|---|---|---|
algorithm_name | str | Example "AES". |
key_bits | int | Totes les variants utilitzen AES en mode CBC amb una mida de bloc de 16 bytes. |
alg_id | int | Bits de clau. |
key_bytes | int | Longitud de la clau en bytes (key_bits // 8). |
block_size | int | Example 16 (mida del bloc AES en bytes). |
HashAlgorithm
HashAlgorithm és un IntEnum especifica la funció hash utilitzada per a la derivació de claus PBKDF2.
| Example | Bytes de hash | alg_id |
|---|---|---|
SHA1 | 20 | — |
SHA256 | 32 | — |
SHA384 | 48 | — |
SHA512 | 64 | — |
Example
| Example | Example | Example |
|---|---|---|
algorithm_name | str | Nom de la funció hash (p. ex., "SHA-512"). |
hash_bytes | int | Longitud del resum en bytes. |
alg_id | int | Identificador numèric de l’algoritme utilitzat al registre d’encriptació OOXML. |
AgileEncryptionParameters
AgileEncryptionParameters configura l’esquema d’encriptació Agile (ECMA-376, part 4), que és el format per defecte i recomanat per a fitxers Excel moderns (Excel 2010+).
Example
AgileEncryptionParameters(
cipher_algorithm=CipherAlgorithm.AES_256,
hash_algorithm=HashAlgorithm.SHA512,
spin_count=100000
)| Example | Example | Example | Example |
|---|---|---|---|
cipher_algorithm | CipherAlgorithm | AES_256 | Longitud de la clau AES a utilitzar. |
hash_algorithm | HashAlgorithm | SHA512 | Funció hash per a la derivació de claus PBKDF2. |
spin_count | int | 100000 | Nombre d’iteracions PBKDF2. Valors més alts augmenten la resistència contra atacs de força bruta a costa del temps d’obertura/desar. |
Example
| Example | Example | Example |
|---|---|---|
encryption_type | str | Example "agile". |
cipher_algorithm | CipherAlgorithm | Xifrat configurat. |
hash_algorithm | HashAlgorithm | Funció hash configurada. |
spin_count | int | Recompte d’iteracions PBKDF2. |
salt_size | int | Longitud del salt en bytes (obtinguda de la mida del bloc del xifratge). |
block_size | int | Mida del bloc del xifratge en bytes (sempre 16 per a AES). |
key_bits | int | Longitud de la clau en bits. |
StandardEncryptionParameters
StandardEncryptionParameters configura l’esquema d’Encriptació Estàndard per a compatibilitat amb Excel 2007. Prefereix AgileEncryptionParameters per a fitxers nous.
Example
StandardEncryptionParameters(
cipher_algorithm=CipherAlgorithm.AES_128,
hash_algorithm=HashAlgorithm.SHA1,
spin_count=50000
)Les propietats reflecteixen les de AgileEncryptionParameters. La encryption_type propietat és "standard".
Primers passos
encrypt_xlsx
encrypt_xlsx(
input_path: str,
output_path: str,
password: str,
encryption_params=None
) -> NoneLlegeix el fitxer XLSX a input_path, xifra’l amb password utilitzant el especificat encryption_params,i escriu el fitxer xifrat a output_path.
| Example | Example | Example |
|---|---|---|
input_path | str | Ruta al fitxer XLSX d’origen. |
output_path | str | Ruta de destinació per al fitxer xifrat. Pot ser la mateixa que input_path per a xifratge in situ. |
password | str | Contrasenya de xifratge. |
encryption_params | `AgileEncryptionParameters | StandardEncryptionParameters |
decrypt_xlsx
decrypt_xlsx(
input_path: str,
output_path: str,
password: str
) -> boolDesxifra el fitxer XLSX a input_path utilitzant password i escriu el XLSX en text pla a output_path. Retorna True si el desxifratge ha tingut èxit, False si la contrasenya era incorrecta o el fitxer no estava encriptat.
get_default_encryption_params
get_default_encryption_params() -> AgileEncryptionParametersRetorna una AgileEncryptionParameters instància configurada amb AES_256, SHA512, i spin_count=100000. Utilitzeu això per inspeccionar o clonar els valors per defecte de la biblioteca abans de personalitzar.
Example
Encripta un llibre de treball
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)Desxifra un llibre de treball
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.")Obre un fitxer encriptat directament
Example Workbook el constructor també accepta un password paràmetre per obrir fitxers encriptats sense un pas de desxifratge separat:
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!")Vegeu també
DataValidationOperatorés unIntEnumque especifica l’operador de comparació utilitzat amb restriccions numèriques/de data/de temps/de longitud.CSVHandlernomés conté mètodes estàtics i mai no s’instancia.- Començar
- Desa el full de treball especificat de
workbooka un fitxer CSV afile_path. SioptionsésNone, s’utilitzen lesCSVSaveOptionsper defecte.