HKID Generator & Validator
A Rust library for generating and validating Hong Kong Identity Card (HKID) numbers, supporting all official and custom prefixes, with correct check digit calculation.
References
The implementation in this library is based on the following public resources:
-
HKID Check Digit Validation
-
HKID Symbol and Prefix Descriptions
This ensures that the check digit calculation and the interpretation of HKID symbols and prefixes are consistent with established and publicly recognized standards.
Features
- Parse HKID symbols and prefixes
- Generate valid HKIDs (with correct check digit)
- Validate HKID numbers (including check digit computation)
- Support for both known and unknown HKID prefixes
Installation
Add this to your Cargo.toml:
[]
= "0.2.2"
Usage
use HKIDOps;
HKID Generation Logic
- Known Prefix:
Whenmust_exist_in_enumistrue, only standard HKID prefixes are allowed. - Random Prefix:
WhenprefixisNone:- If
must_exist_in_enumistrue, a random known prefix is chosen. - If
must_exist_in_enumisfalse, a random 1- or 2-letter uppercase prefix is generated.
- If
- Unknown/Custom Prefix:
Allowed only ifmust_exist_in_enumisfalse.
License
This project is licensed under the MIT License.
You are free to use, modify, and distribute this software under the terms of the MIT License. For detailed terms and conditions, please refer to the LICENSE file in this repository.