rtoolkit

Crates.iortoolkit
lib.rsrtoolkit
version0.0.1
created_at2025-11-13 01:38:10.449855+00
updated_at2025-11-13 01:38:10.449855+00
descriptionRust toolkit CLI: generate Chinese ID numbers, emails (TBD), PDF utilities (TBD)
homepage
repositoryhttps://github.com/zhengpanone/rtoolkit
max_upload_size
id1930261
size1,801,359
zhengpanone (zhengpanone)

documentation

README

rtoolkit - Rust 工具包

一个用 Rust 编写的命令行工具包,提供实用的数据生成功能。

功能特性

当前功能

  • 身份证生成器:生成符合 GB 11643 标准的 18 位中国身份证号码
    • 支持指定地区码(6位数字)
    • 支持指定出生日期或随机日期范围
    • 支持按性别生成(男性奇数,女性偶数)
    • 自动计算校验位(MOD 11-2 算法)

计划功能

  • 🔄 邮箱生成器
  • 🔄 PDF 工具集

安装

从源码构建

# 克隆项目
git clone https://github.com/zhengpanone/rtoolkit.git
cd rtoolkit

# 构建项目
cargo build --release

# 安装到系统路径
cargo install --path .

使用 Cargo 安装(如果发布到 crates.io)

cargo install rtoolkit

使用方法

身份证生成

# 生成一个随机身份证号
rtoolkit id

# 生成多个身份证号
rtoolkit id -n 5

# 指定地区码(6位数字)
rtoolkit id --region 110101

# 指定出生日期
rtoolkit id --birth 1990-05-20

# 指定性别
rtoolkit id --gender male    # 男性(奇数)
rtoolkit id --gender female  # 女性(偶数)

# 指定出生日期范围
rtoolkit id --min-birth 1980-01-01 --max-birth 2000-12-31

# 完整示例
rtoolkit id -n 3 --region 310101 --birth 1995-08-15 --gender female

日期格式支持

  • 19900520(无分隔符)
  • 1990-05-20(短横线分隔)

项目结构

rtoolkit/
├── Cargo.toml          # 项目配置和依赖
├── README.md           # 项目说明文档
├── src/
│   ├── main.rs         # 命令行入口
│   └── lib.rs          # 核心逻辑库
└── data/
    └── region_codes.csv # 地区码数据(待完善)

技术栈

  • Rust 2021 Edition - 编程语言
  • clap - 命令行参数解析
  • chrono - 日期时间处理
  • rand - 随机数生成
  • thiserror - 错误处理

开发

运行测试

cargo test

调试构建

cargo build

运行示例

cargo run -- id -n 3

许可证

本项目采用双重许可证:

  • MIT License
  • Apache License 2.0

你可以选择其中任意一种许可证来使用本项目。

贡献

欢迎提交 Issue 和 Pull Request!

免责声明

本工具生成的身份证号码仅用于测试和开发目的,请勿用于非法用途。生成的号码格式符合国家标准,但不保证其真实性和唯一性。

Commit count: 0

cargo fmt