#personal #validation #identity #finnish #generate #ssn

bin+lib hetu

简单crate,用于验证和生成芬兰个人身份证号码(HETU)

12个版本 (7个破坏性更新)

使用旧的Rust 2015

0.8.1 2024年3月26日
0.8.0 2023年12月21日
0.7.0 2021年7月13日
0.5.0 2018年11月24日
0.2.0 2016年4月27日

#1 in #finnish

Download history 5/week @ 2024-06-27 65/week @ 2024-07-04 2/week @ 2024-07-18 18/week @ 2024-07-25

每月86次下载

MIT 许可证

45KB
1K SLoC

HETU验证器和生成器,用Rust编写

简单crate,用于验证和生成芬兰个人身份证号码(HETU)

支持1.1.2023格式

与rust 1.8稳定版兼容。

使用方法

将以下内容添加到您的Cargo.toml

[dependencies.hetu]
git = "https://github.com/jelovirt/hetu.git"

验证

extern crate hetu;
use hetu::Ssn;

pub fn main() {
  if Ssn::parse("121212-121D").is_ok() {
    println!("Valid HETU")
  } else {
    println!("Invalid")
  }
}

生成

extern crate hetu;
use hetu::Ssn;

pub fn main() {
  println!("{}", Ssn::generate());
}

按模式生成

extern crate hetu;
use hetu::Ssn;
use hetu::SsnPattern;

pub fn main() {
  let pattern = SsnPattern::parse("111111-111?").unwrap();
  println!("{}", Ssn::generate_by_pattern(pattern).unwrap());
}

命令行界面

命令行工具hetu可用于验证或随机生成标识符。

验证

$ hetu 121212-121D
$ echo 121212-121D | hetu -
$ hetu 121212-121C
Error: Invalid checksum: expected D
  
  121212-121C
            ^

生成

$ hetu
121212-121D

使用包含通配符的模式生成

$ hetu -p "121212-121?"
121212-121D
$ hetu -p "121212-???D"
121212-028D
$ hetu -p "??????-???D"
241151-028D

依赖项

~400–630KB