Blog: https://blog.wu-boy.com/2023/09/secure-encryption-tool-age/
Age GitHub: https://github.com/FiloSottile/age
Go 語言內的 age 軟體是一種開源的密碼學工具,用於加密和解密檔案。它主要用於保護
敏感檔案或資料的隱私。它使用先進的加密標準,如 XChaCha20 和 Poly1305,以及
Scrypt 來加密和解密檔案。它還支持多種加密標準,如 RSA 和 Ed25519,以及多種密碼
學工具,它還支持多種平台,如 Linux、Windows 和 macOS。為什麼我需要選擇這套工具
呢?
流程圖: https://blog.wu-boy.com/images/2023-09-30/flow.png
公司架構非常複雜,因為團隊多樣性的關係,部分資料是不能上傳到公開的雲端平台,因
此會把這些開發流程建置在無網路環境上,但是這樣的開發流程會有一些問題,例如我們
要把檔案傳送給其他人,但是又不想讓其他人知道檔案內容,必須把檔案加密,加密的檔
案又不能讓其他人解密。所以我們需要一套工具來加密檔案,並且可以將加密的檔案傳送
給其他人,讓其他人可以解密檔案。這套工具必須要有以下特性:
* 簡單容易操作
* 支援多種加密
* 支援多種平台
在上述流程圖中的步驟一,就是要使用 age 工具來加密檔案,由於需要全程自動化關係
,故會在此步驟進行一次性的產生加密的 Public + Private Key,確保加密的檔案只有
特定的人可以解密。
## 心得感想
age 工具非常的簡單,而且支援多種加密方式,如果你想要使用 SSH Keys 來加密檔案,
也非常的容易,只需要使用 -R 參數即可。如果你想要多個人可以解密檔案,也可以使
用 -r 參數來加入多個 Public Key。總之如果你想要加密檔案,age 工具是一個不錯的
選擇。
另外一個選擇可以用 https://github.com/getsops/sops