Simple CLI for common cryptography tasks in Python.
cryptotool
adalah command-line interface (CLI) tool berbasis Python yang memudahkan operasi kriptografi dasar, meliputi:
-
🔑 Generate Keys
- Symmetric key (Fernet)
- Asymmetric key pair (RSA)
-
🔒 Encrypt / Decrypt File
- File encryption/decryption menggunakan symmetric key
-
🛡️ Hashing
- Hitung SHA-256 hash dari file
-
✍️ Digital Signature
- Generate dan verifikasi signature menggunakan RSA
Dengan cryptotool
, kamu dapat dengan cepat mengamankan file, memverifikasi integritas data, serta mempelajari dasar-dasar kriptografi.
Perintah | Deskripsi |
---|---|
gen-sym |
Generate symmetric (Fernet) key |
gen-rsa |
Generate RSA key pair (private & public) |
enc <in> <out> |
Encrypt file <in> → <out> |
dec <in> <out> |
Decrypt file <in> → <out> |
hash <file> |
Compute SHA-256 hash of <file> |
sign <file> |
Sign <file> → output signature file (.sig ) |
verify <file> <sig> |
Verify signature <sig> for <file> |
-
Clone repository
git clone https://github.com/delfiboyz/cryptotool.git cd cryptotool
-
Buat dan aktifkan virtual environment
python3 -m venv .venv # buat venv source .venv/bin/activate # Linux/macOS # .\.venv\\Scripts\\activate # Windows PowerShell
-
Install dependencies
pip install -r requirements.txt
cryptotool/ # Root project
├── README.md # Dokumentasi ini
├── requirements.txt # Daftar dependency
├── .gitignore # file untuk ignore
├── keys/ # (kosong di repo, untuk menyimpan key runtime)
├── cryptotool/ # Package utama
│ ├── __init__.py
│ ├── keygen.py # Generate symmetric & RSA keys
│ ├── symmetric.py # Encrypt & decrypt menggunakan Fernet
│ ├── hashing.py # SHA-256 hashing
│ ├── asymmetric.py # Digital signature & verification
│ └── cli.py # Entry-point CLI (argparse)
└── examples/ # Contoh file untuk testing
└── sample.txt
Catatan: Pastikan folder
keys/
terdaftar di.gitignore
agar key pribadi tidak ter-commit ke Git.
-
Generate semua key
python -m cryptotool.cli gen-sym python -m cryptotool.cli gen-rsa
- Hasil: file
keys/symmetric.key
,keys/private_rsa.pem
,keys/public_rsa.pem
.
- Hasil: file
-
Encrypt & Decrypt
python -m cryptotool.cli enc examples/sample.txt examples/sample.enc python -m cryptotool.cli dec examples/sample.enc examples/decrypted.txt
-
Hashing
python -m cryptotool.cli hash examples/sample.txt
- Output: SHA-256 digest dari file.
-
Sign & Verify
python -m cryptotool.cli sign examples/sample.txt python -m cryptotool.cli verify examples/sample.txt examples/sample.txt.sig
- Fork repository ini.
- Buat branch fitur baru:
git checkout -b feature/nama-fitur
. - Commit perubahan:
git commit -m "Tambah fitur ..."
. - Push ke branch:
git push origin feature/nama-fitur
. - Buka pull request.
Kami akan dengan senang hati mereview dan menggabungkan kontribusi kamu!
Project ini menggunakan lisensi MIT. Lihat file LICENSE untuk detail.
Selamat mencoba dan semoga bermanfaat! 🎉