| Crates.io | hetu |
| lib.rs | hetu |
| version | 0.9.0 |
| created_at | 2016-04-23 19:41:21.269142+00 |
| updated_at | 2024-12-21 11:11:03.034378+00 |
| description | Simple crate for validating and generating Finnish personal identity code (henkilötunnus, hetu) |
| homepage | |
| repository | https://github.com/jelovirt/hetu |
| max_upload_size | |
| id | 4830 |
| size | 58,210 |
Simple crate for validating and generating Finnish Personal Identity Code (henkilötunnus, hetu).
Supports the 1.1.2023 format.
Works with rust 1.8 stable.
Add this to your Cargo.toml
[dependencies.hetu]
git = "https://github.com/jelovirt/hetu.git"
To validate a personal identity code:
extern crate hetu;
use hetu::Ssn;
pub fn main() {
if Ssn::try_from("121212-121D").is_ok() {
println!("Valid")
} else {
println!("Invalid")
}
}
To generate a personal identity code:
extern crate hetu;
use hetu::Ssn;
pub fn main() {
println!("{}", Ssn::generate());
}
To generate a personal identity code by pattern:
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());
}
Command line tool hetu can be used to either validate or randomly generate
personal identity codes.
To validate a personal identity code:
$ hetu 121212-121D
$ echo 121212-121D | hetu -
$ hetu 121212-121C
Error: Invalid checksum: expected D
121212-121C
^
To generate a personal identity code:
$ hetu
121212-121D
To generate a personal identity code by pattern that can contain wildcards:
$ hetu -p "121212-121?"
121212-121D
$ hetu -p "121212-???D"
121212-028D
$ hetu -p "??????-???D"
241151-028D