Skip to main content

CircleCI CodeQL codecov PyPI - Downloads

NaclFile

A python xxxFile like (ie TarFile, GzipFile, BZ2File, pyzstd.ZstdFile, ...) for encrypting files with PyNacl SecretBox.

This project is part of the CofferFile : https://github.com/bibi21000/CofferFile.

If you're looking for a more powerfull storage for your sensible datas, look at PyCoffer : https://github.com/bibi21000/PyCoffer.

Install

    pip install naclfile

Create your encryption key

    from nacl import utils

    key = utils.random(SecretBox.KEY_SIZE)

and store it in a safe place (disk, database, ...).

This key is essential to encrypt and decrypt data. Losing this key means losing the data.

"open" your encrypted files like normal files

Text files :

    from naclfile import open as nacl_open

    with nacl_open('test.nacl', mode='wt', secret_key=key, encoding="utf-8") as ff:
        ff.write(data)

    with nacl_open('test.nacl', "rt", secret_key=key, encoding="utf-8") as ff:
        data = ff.read()

    with nacl_open('test.nacl', mode='wt', secret_key=key, encoding="utf-8") as ff:
        ff.writelines(data)

    with nacl_open('test.nacl', "rt", secret_key=key, encoding="utf-8") as ff:
        data = ff.readlines()

Binary files :


    with nacl_open('test.nacl', mode='wb', secret_key=key) as ff:
        ff.write(data)

    with nacl_open('test.nacl', "rb", secret_key=key) as ff:
        data = ff.read()

Crypt and compress ... for better performances.

Look at https://github.com/bibi21000/CofferFile/blob/main/BENCHMARK.md.

    from naclfile.zstd import open as nacl_open

    with nacl_open('test.nacz', mode='wb', secret_key=key) as ff:
        ff.write(data)

    with nacl_open('test.nacz', "rb", secret_key=key) as ff:
        data = ff.read()

Crypt and compress your tar files

    from naclfile.tar import open as tar_open

    with tar_open('test.tarcz', mode='w', secret_key=key) as ff:
        ff.add(file1,'file1.data')
        ff.add(file2,'file2.data')

    with tar_open('test.tarcz', "r", secret_key=key) as ff:
        ff.extractall()

Look at documentation : https://bibi21000.github.io/NaclFile/

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

naclfile-0.0.6.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

naclfile-0.0.6-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file naclfile-0.0.6.tar.gz.

File metadata

  • Download URL: naclfile-0.0.6.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for naclfile-0.0.6.tar.gz
Algorithm Hash digest
SHA256 bf16cb6fbe11b8b06c464e4a61df19e3c650641cc15fabb9dff1455c2e127cef
MD5 9e86ed590ba139917708a499cfb36c9a
BLAKE2b-256 6c43a5f0db0b77defe99364b0a72dc8591ca572d3b879551104733080947760c

See more details on using hashes here.

Provenance

The following attestation bundles were made for naclfile-0.0.6.tar.gz:

Publisher: python-publish.yml on bibi21000/NaclFile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file naclfile-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: naclfile-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for naclfile-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 afa9857498b93c32bcbb8ac4c02e0b4d09a780cbe4f2aef88d459a3b8d01ee5d
MD5 70ddb76979880a11730f1e3e4de609e1
BLAKE2b-256 1333845f9621de06bcceed97ebf94e530134006b66fd4f0fc7c9a51f6f7def30

See more details on using hashes here.

Provenance

The following attestation bundles were made for naclfile-0.0.6-py3-none-any.whl:

Publisher: python-publish.yml on bibi21000/NaclFile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.0.6 This release

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page