跳转到主要内容

使用libsodium进行文件和文件夹的对称、密钥加密

项目描述

Salt Cellar加密工具

Salt Cellar是一个Python程序,使用硬加密保护您的文件和文件夹。`pynacl-cellar`包提供了命令行工具`cellar`,用于使用密钥加密和解密您的文件/文件夹,并保护它们免受他人查看。文件使用asyncio/aiofiles完全异步地快速加密/解密。

加密

硬加密是通过PyNaCl包和libsodium库实现的。底层加密算法是Salsa20,它速度快,仅略微增加文件大小。默认情况下,`cellar`会原地加密文件,用加密版本覆盖原始文件。

:warning: 不要忘记您的密钥! 此程序将加密您的文件,直到您解密它们,它们将无法使用。如果您丢失/忘记密钥,则文件将无法恢复。请自行承担风险

密钥

用于工具的密钥应为32字节长。它可以存储为文件、环境变量或输入到命令行中。如果密钥太短,则会被截断,如果太长,则会被空字节填充。

安装

  • 安装libsodium

  • 建议使用pipx安装CLI工具

    使用pipx安装pynacl-cellar

  • 然后使用pipx运行命令

    pipx运行cellar ...

用法

CLI命令是cellar,您可以在一组路径上调用encryptdecrypt。路径可以是文件、文件夹或-表示标准输入

Usage: cellar [OPTIONS] COMMAND [ARGS]...

Options:
  --version                Show the version and exit.
  -v, --verbosity          Output level WARN/INFO/DEBUG
  -l, --log-file FILENAME  File path to write logs to
  -k, --key-file FILENAME  File path to use for secret key or CELLAR_KEYFILE env var
  -p, --key-phrase TEXT    Text to use as secret key. Use "-" to read from stdin. Do NOT type your key via command line! It will show in your shell history
  -P, --key-prompt         Prompt for the secret key (default)
  --help                   Show this message and exit.

Commands:
  decrypt  Decrypts given paths.
  encrypt  Encrypts given paths.

环境变量

CELLAR_KEYFILE

包含您的私钥内容(32字节)的文件

CELLAR_KEYPHRASE

包含您的私钥内容(32字节)的字符串

CELLAR_LOGFILE

用于日志记录的文件名

示例

# Encrypt a given directory
$ cellar -vv encrypt test-dir/
Secret key: 
WARNING cellar __init__: Key too short, padding to to 32 characters
INFO cellar encrypt_file: Encrypted file test-dir/mypic.jpg
INFO cellar encrypt_dir: Encrypted directory test-dir
# Encrypt stdin
$ echo foobarbaz | cellar encrypt -
9T�䳵�B���S��*�����S��
# Decrypt it using pipes
$ echo foobarbaz | cellar encrypt - | cellar decrypt -
foobarbaz

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分布

pynacl-cellar-0.1.0.tar.gz (8.1 kB 查看哈希值)

上传时间 源代码

支持