1个不稳定版本
0.1.0 | 2024年5月23日 |
---|
#1722在密码学
每月26次下载
9KB
57 行
endec
使用密码和AES加密对字符串进行加密和解密的简单命令行工具。
功能
- 使用从密码派生的256位密钥使用AES加密加密字符串
- 使用相同的密码解密加密的字符串
- 支持加密和解密模式
- 提供简单直观的命令行界面
安装
要安装endec
,您需要在您的系统上安装Rust和Cargo。如果您还没有安装它们,您可以从官方网站下载和安装Rust:https://www.rust-lang.net.cn/tools/install
一旦您设置了Rust和Cargo,您可以通过运行以下命令来安装endec
:cargo install endec
此命令将从crates.io下载endec
包并编译它,生成一个可执行二进制文件。二进制文件将被安装到安装根的bin
目录中,通常在Unix-like系统上是$HOME/.cargo/bin
,在Windows上是%USERPROFILE%\.cargo\bin
。
请确保安装根的bin
目录在您的系统PATH
环境变量中,这样您就可以在任何终端位置运行endec
命令。
用法
要使用endec
,打开终端并运行以下命令:endec <string> <password> [-d]
<string>
:要加密或解密的字符串。<password>
:用于加密或解密的密码。-d
:指定解密模式的可选标志。如果不提供,则使用加密模式。
加密
要加密一个字符串,将字符串和密码作为参数传递给 endec
命令: endec "Hello, World!" mypassword
加密的字符串将在终端中显示: Encrypted string: 1b4fb22942d0e22a5c0c2c3e2d3f4a5b
解密
要解密一个加密字符串,将加密字符串、密码和 -d
标志传递给 endec
命令: endec 1b4fb22942d0e22a5c0c2c3e2d3f4a5b mypassword -d
解密的字符串将在终端中显示: Decrypted string: Hello, World!
安全考虑
- 加密密钥是通过 SHA-256 从提供的密码派生的。虽然这提供了基本的安全级别,但建议为每次加密使用强密码。
- 加密字符串以十六进制格式编码,以便于传输和存储。但是,重要的是要安全地存储和传输加密字符串,以防止未经授权的访问。
- 使用 ECB 模式进行 AES 加密,这可能不适用于所有用例。根据具体需求,考虑使用其他模式,如 CBC 或 GCM,以提高安全性。
许可证
此项目根据您的选择,受 MIT 许可证或 Apache 许可证,版本 2.0 的许可。请参阅 MIT 许可证 或 Apache 许可证,版本 2.0。
贡献
欢迎贡献!如果您发现任何问题或有改进建议,请在 GitHub 仓库 上提交问题或拉取请求。
免责声明
本工具按原样提供,仅供教育和信息目的使用。作者和贡献者不对由此工具造成的任何滥用、损害或非法活动负责。请负责任地使用,并自行承担风险。
依赖项
~4MB
~51K SLoC