
Go로 작성된 CLI 암호화 도구
./safeguard --version
1.0
이 프로젝트는 학습 목적의 파일 암호화 도구입니다.
Go 표준 라이브러리의 표준 암호화 기본 요소(예: 인증 암호화를 위한 AES-GCM)를 사용하지만, Argon2나 scrypt와 같은 현대적인 메모리 하드 비밀번호 키 유도 함수를 사용하지 않습니다.
대신, 키는 표준 라이브러리 전용의 가벼운 방법으로 유도됩니다. 즉:
사용성을 유지하면서 보안을 개선하는 기여를 환영합니다.
git clone https://github.com/pingplus/SafeGuard.git
cd SafeGuard
go build
일반 구문:
./safeguard <파일> <동작> <암호> [옵션]
동작:
--encrypt 또는 e 파일 암호화--decrypt 또는 d 파일 복호화--decrypt-directory 또는 de 전체 디렉토리 복호화 (디렉토리 복호화는 아직 지원되지 않습니다. 죄송합니다 :( )옵션:
--inplace 파일을 제자리에서 복호화/암호화 (실험적)--key 키 추가--output 출력 파일 이름 지정지원되는 암호:
./safeguard --list-ciphers
[i] 사용 가능한 암호:
xor
caesar
aes
파일 암호화:
./safeguard secret.txt e aes --key "your-strong-password"
# 또는
./safeguard secret.txt --encrypt aes --key "your-strong-password" --output secret.txt.aes
파일 복호화:
./safeguard secret.txt d aes --key "your-strong-password"
# 또는
./safeguard secret.txt --decrypt aes --key "your-strong-password" --output secret.txt.dec
./safeguard secrets.txt e aes --key "123123123123123123123123" --inplace
# -> secrets.txt를 생성하지만 암호화됨
./safeguard secrets.txt.aes d aes --key "123123123123123123123123" --output secrets_decrypted.txt