
CLI-Verschlüsselungstool, geschrieben in Go, nur zu Lernzwecken
./safeguard --version
1.0
Dieses Projekt ist ein lernorientiertes Werkzeug zur Dateiverschlüsselung.
Es verwendet zwar standardmäßige kryptografische Primitive aus der Go-Standardbibliothek (z. B. AES-GCM für authentifizierte Verschlüsselung), nutzt jedoch keine moderne, speicherharte Passwortschlüsselableitungsfunktion wie Argon2 oder scrypt.
Stattdessen werden Schlüssel mit einer leichtgewichtigen Methode abgeleitet, die nur die Standardbibliothek verwendet. Das bedeutet:
git clone https://github.com/pingplus/SafeGuard.git
cd SafeGuard
go build
Allgemeine Syntax:
./safeguard <file> <action> <cipher> [options]
Aktionen:
--encrypt oder e Eine Datei verschlüsseln--decrypt oder d Eine Datei entschlüsseln--decrypt-directory oder de Ein ganzes Verzeichnis entschlüsseln (Verzeichnisentschlüsselung noch nicht verfügbar, sorry :( )Optionen:
--inplace Eine Datei direkt vor Ort (in-place) ver- bzw. entschlüsseln (experimentell)--key Schlüssel hinzufügen--output Den Ausgabenamen angebenUnterstützte Chiffren:
./safeguard --list-ciphers
[i] Available ciphers:
xor
caesar
aes
Eine Datei verschlüsseln:
./safeguard secret.txt e aes --key "your-strong-password"
# or
./safeguard secret.txt --encrypt aes --key "your-strong-password" --output secret.txt.aes
Eine Datei entschlüsseln:
./safeguard secret.txt d aes --key "your-strong-password"
# or
./safeguard secret.txt --decrypt aes --key "your-strong-password" --output secret.txt.dec
./safeguard secrets.txt e aes --key "123123123123123123123123" --inplace
# -> creates secrets.txt but encrypted
./safeguard secrets.txt.aes d aes --key "123123123123123123123123" --output secrets_decrypted.txt