
CLI-инструмент для шифрования, написанный на Go
./safeguard --version
1.0
Этот проект — учебный инструмент для шифрования файлов.
Хотя в нём используются стандартные криптографические примитивы из стандартной библиотеки Go (например, AES-GCM для аутентифицированного шифрования), в нём не используется современная, требующая много памяти функция формирования ключа на основе пароля, такая как Argon2 или scrypt.
Вместо этого ключи формируются с помощью лёгкого метода на базе только стандартной библиотеки. Это означает:
Приветствуются доработки, которые повышают безопасность, сохраняя удобство использования.
git clone https://github.com/pingplus/SafeGuard.git
cd SafeGuard
go build
Общий синтаксис:
./safeguard <file> <action> <cipher> [options]
Действия:
--encrypt или e Зашифровать файл--decrypt или d Расшифровать файл--decrypt-directory или de Расшифровать целый каталог (расшифровка каталога пока недоступна, извините :( )Опции:
--inplace расшифровать/зашифровать файл на месте (экспериментально)--key добавить ключ--output указать имя выходного файлаПоддерживаемые шифры:
./safeguard --list-ciphers
[i] Available ciphers:
xor
caesar
aes
Зашифровать файл:
./safeguard secret.txt e aes --key "your-strong-password"
# or
./safeguard secret.txt --encrypt aes --key "your-strong-password" --output secret.txt.aes
Расшифровать файл:
./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