寻求适用于分布式暴力破解的Rust密码生成库或CLI工具
适配分布式暴力破解的Rust密码生成方案
一、Rust库:bruteforce-rs
这个库专为暴力破解场景设计,完全满足自定义字符集、指定密码长度、按索引范围生成密码的核心需求,适配分布式节点的任务拆分逻辑。
示例代码(生成4位字母数字的第1001-2000个密码)
use bruteforce_rs::{Bruteforce, charset}; fn main() { // 定义字符集:大小写字母+数字 let chars = charset::ALPHANUMERIC; // 固定密码长度为4位 let length = 4; // 索引从0开始,第1001个密码对应索引1000,第2000个对应索引1999 let start_idx = 1000; let end_idx = 1999; let bf = Bruteforce::new(chars, length); // 遍历指定索引范围输出密码 for idx in start_idx..=end_idx { if let Some(password) = bf.nth(idx) { println!("{}", password); } } }
说明:
- 支持预设字符集(如
ASCII、LOWERCASE、NUMERIC),也可传入自定义字符数组(比如&['a', 'b', '1', '!'])。 nth(idx)方法直接通过索引获取对应密码,无需生成前置所有密码,性能开销极低,适合大范围任务拆分。
二、命令行工具:rust-bruteforce-cli
如果需要快速生成指定范围密码用于测试或脚本集成,可直接使用这个命令行工具,无需编写代码。
示例命令(生成4位字母数字的第1001-2000个密码)
rust-bruteforce-cli --charset alnum --length 4 --start 1000 --end 1999
参数说明:
--charset:可选预设字符集(alnum/alpha/lower/upper/num),或用--custom-charset "abc123!"传入自定义字符。--length:设置固定密码长度。--start/--end:指定索引范围(索引从0开始,第N个密码对应索引为N-1)。
关键注意事项
- 索引与密码的对应关系:所有密码按字符集字典序排列,每个密码对应唯一整数索引,分布式节点只需分配不重叠的索引区间,即可避免重复生成。
- 性能优势:Rust原生特性保证生成速度,即使是大规模字符集和长密码,按索引范围生成的开销远小于从头生成所有前置密码。
内容的提问来源于stack exchange,提问作者Jonathan Rodrigues Cardoso
相关产品推荐
相关产品推荐

