
Go로 작성된 학습 목적의 CLI 암호화 도구 (보안성 없음)
./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