Skip to main content

A modern, zero-boilerplate AES-GCM encryption library and CLI tool.

Project description

🛡️ EzCipher

EzCipher is a modern, lightweight, and zero-boilerplate AES-256-GCM encryption utility for Python.
Designed for developers who need secure encryption without dealing with the complexities of cryptographic primitives.

Korean Version (한국어 버전)

✨ Features

  • Authenticated Encryption (AEAD): Uses AES-GCM to ensure data integrity and confidentiality.
  • Zero Boilerplate: No need to manually manage Initialization Vectors (IVs), salts, or authentication tags.
  • Secure Key Derivation: Hardened password-based key derivation using PBKDF2-HMAC-SHA256 with 100,000 iterations.
  • SecureConfig: Built-in layer for managing encrypted configuration/vault files.
  • Command Line Interface (CLI): Encrypt and manage secrets directly from your terminal.

🚀 Installation

pip install EzCipher

🛠️ Library Usage

Simple String Encryption

from EzCipher import EzCipher

# Initialize with a password
cipher = EzCipher.from_password("my-secret-password")

# Encrypt
encrypted_blob = cipher.encrypt("Hello, World!")
print(encrypted_blob) # Returns a versioned Base64 string

# Decrypt
original_text = cipher.decrypt(encrypted_blob)
assert original_text == "Hello, World!"

Encrypted Configuration (Vault)

from EzCipher import SecureConfig

# Create or load an encrypted vault
vault = SecureConfig("secrets.vault", "vault-password")

# Save encrypted data into groups
vault.save("database", {"user": "admin", "password": "db-password-123"})

# Read and decrypt
db_secrets = vault.read("database")
print(db_secrets['password']) # "db-password-123"

💻 CLI Usage

Once installed, use the ezcipher command:

Encrypt/Decrypt Strings

# Encrypt
ezcipher encrypt "secret message" -p "my-pass"

# Decrypt
ezcipher decrypt "AQ==..." -p "my-pass"

Manage Vault Files

# Set a secret
ezcipher config -f keys.vault -p "pass" --set production api_key "sk-12345"

# Get a secret
ezcipher config -f keys.vault -p "pass" --get production api_key

# List all
ezcipher config -f keys.vault -p "pass"

📖 Architecture & Format

EzCipher uses a unified binary format for its output: [VERSION(1 byte)] | [SALT(16 bytes)] | [NONCE(12 bytes)] | [TAG(16 bytes)] | [CIPHERTEXT]

This ensures that every piece of encrypted data carries everything it needs to be safely decrypted with the correct password.

⚖️ License

Licensed under the MIT License.
Copyright (c) 2026 minicom365

Project details


Download files

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

Source Distribution

ezcipher-1.0.0.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

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

ezcipher-1.0.0-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file ezcipher-1.0.0.tar.gz.

File metadata

  • Download URL: ezcipher-1.0.0.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for ezcipher-1.0.0.tar.gz
Algorithm Hash digest
SHA256 fcbe5ebb6cdda0518b0305cfd6cd86efcd37b7e3f3e9acb0cec909941e7f478b
MD5 b7acdec869c4ddb139c5d1717ab4b7c9
BLAKE2b-256 7ece35b3619e3feaa5acf68cc552f2f7fce7dae74adfa0d802968903e6aaf11c

See more details on using hashes here.

File details

Details for the file ezcipher-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: ezcipher-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for ezcipher-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d0dc0bd480f6dd15071455fb7e9db7b0d73b16d8d759137dd7077ab6381ae95
MD5 32c4eefdd224f8201b97a46862eff663
BLAKE2b-256 1676824f3cb06571077887df47d80a6c39adcc24d331a0a5d3ad4e3c722e27f5

See more details on using hashes here.

Supported by

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