merci-libre/genpass-rs

GitHub: merci-libre/genpass-rs

一款基于 Rust 的高强度密码生成与隐写工具,解决安全场景中复杂口令与隐蔽存储的需求。

Stars: 3 | Forks: 0

# Genpass-rs Merci-Libre 的官方 genpass-rs 页面。由 [westwardfishdme](https://github.com/westwardfishdme) 创建。现已更新至 v2.0! - [安装指南](#Installing) - [Windows](#Windows) - [Linux](#Linux) - [从源码构建](#Building-From-Source) - [用法](#Usage) - [致谢](#Thanks) ## 安装 目前 genpass-rs 不支持通过软件包管理器安装。所有 x86_64 构建版本均可从 [发行版页面](https://github.com/merci-libre/genpass-rs/releases) 获取。 ### Windows 目前所有 ≤ 1.0.2 的发行版均附带预编译的二进制文件。 你可以直接运行 .exe 文件来使用本软件。 该二进制文件是为 x86_64 系统编译的。也可在 [发行版页面](https://github.com/merci-libre/genpass-rs/releases) 获取。 ### Linux 提供了适用于 x86_64 系统的预编译二进制文件。也可从 [发行版页面](https://github.com/merci-libre/genpass-rs/releases) 获取。 :) ### 从源码构建 1. 从 https://www.rust-lang.org/tools/install 安装 Rust。 2. 使用 `cargo build --release` 进行编译。 3. 二进制文件位于 `genpass-rs/target/build/genpassrs`。 4. 后续步骤请自行探索 :D ## 用法 Genpass-rs 支持最多生成 255 个字符的字符串。之所以明确选择该长度,是因为大多数密码字段限制为 32 个字符, 尽管支持的最大字符数可达 255。此限制目前无法绕过,且对所有形式的短语生成均强制执行。 ### 获取帮助 `genpassrs --help`:打印帮助菜单。此外,由于该项目使用了 clap,你还可以使用以下语法查看其他命令: ``` genpassrs --help ``` 效果如下: ``` Usage: genpassrs [OPTIONS] Commands: string Generates a new string of specified length integer Generates an integer of specified length alphanumeric Generates an alphanumeric string estimate Estimates the strength of password steg Use Steganography to store strings into PNGs or JPEGs. Acceptable formats: ([.png], [.jpg], [.jpeg]) help Print this message or the help of the given subcommand(s) Options: -d, --debug Prints debugging information -l, --loop Loops the program for infinite string generation -h, --help Print help -V, --version Print version ``` ### 字符串生成 支持基于传统 ASCII 的字符生成以及基于 UTF-8 的扩展 ASCII 生成(最多至 `char 255`)。 - `genpassrs string --encoding extasc --length 30`:打印长度为 30 的字符串,包含随机扩展 ASCII 字符,且不包含空格。 - `genpassrs string --encoding ascii --spaces --length 20`:打印长度为 20 的字符串,包含随机 ASCII 字符及空格。 - `genpassrs alphanumeric -l 25`:生成长度为 25 的字母数字字符串。 - `genpassrs alphanumeric -a -l 25`:生成长度为 25 且仅包含大小写字母的字符串。 - `genpassrs alphanumeric -s -l 25`:生成长度为 25 的小写字母字符串。 - `genpassrs alphanumeric -u -l 25`:生成长度为 25 的大写字母字符串。 ### 整数生成 整数以字符串形式生成——未来版本可能会提供格式化输出。 - `genpassrs integer --length 20`:打印长度为 20 的随机整数。标准输出格式为 `type: String`,而非整数。 ### 密码强度估算 - `genpassrs estimate ` 或 ` | genpassrs estimate -` ## 使用隐写功能嵌入或存储密码/消息 在使用 Genpass-rs 将加密载荷嵌入图像时,采用 AES-128 对字符串进行安全存储。 要使用隐写功能,输入文件必须满足以下条件: - 必须是 [.jpg、.jpeg 或 .png] 格式,运行时通过检查文件的魔数进行验证。 - 文件大小至少为 1KB。但自 1.1.2 版本起不再检查文件大小,这意味着更小的图像可能导致未定义行为。 - 不得使用本程序(或使用其他隐写术的程序)向图像中嵌入过先前数据。目前软件无法对此进行检查,因此请在使用本命令前使用全新的未编辑图像,以免覆盖密码! 隐写文件将以 `.png` 格式输出。 ### 存储与读取 Genpass-rs 提供了两种将密码存储到图像中的方法: 1. 生成密码。 2. 或直接存储载荷。 你可以选择在使用 `-u` 参数的情况下不加密载荷直接存储。例如: `genpassrs steg embed -n some.png -p "Hello World" -u` 此命令会将载荷 `Hello World` 存储到图像 `some.png` 中,且不进行加密。 ### 生成 若要生成带有加密的新随机密码,可使用以下命令: `genpassrs steg generate -n some.jpeg -l 50 -e extasc -s` 此命令将生成一个长度为 `50`、包含 ASCII 和扩展 ASCII 的随机短语,并将其存储到文件 `some.jpeg` 中。 # 模块 ~~Genpassrs 支持在 genpass 之外的项目中按需使用模块。当然,你也可以使用包装器在任何项目中使用 genpassrs。~~ (此功能在当前补丁中已暂时失效,未来更新将很快恢复模块支持。) # 感谢 首先,感谢你对本项目的关注。作为该项目的开发者,我为此投入了两年时间不断打磨与改进。 在此,我要向本程序的用户以及帮助实现该项目的其他项目开发者致以诚挚的感谢。
标签:255字符限制, cargo, clap, Rust, 可视化界面, 字母数字生成, 字符串生成, 密码学, 密码生成, 开源, 强度估算, 手动系统调用, 数据隐藏, 整数生成, 源码编译, 网络安全, 网络流量审计, 通知系统, 隐写术, 隐私保护, 预编译二进制