54 lines
1.7 KiB
Markdown
54 lines
1.7 KiB
Markdown
# Registration Number Format
|
|
|
|
## Secure Registration Number Generation
|
|
|
|
The system automatically generates a unique 12-character registration number for each announcement with enhanced security to prevent easy guessing.
|
|
|
|
### Format Structure:
|
|
|
|
```
|
|
ENV + XXXXXXXXX
|
|
```
|
|
|
|
Where:
|
|
|
|
- **ENV** = Environmental document prefix (3 characters)
|
|
- **XXXXXXXXX** = 9 secure random alphanumeric characters (excluding similar-looking characters)
|
|
|
|
### Character Pool:
|
|
|
|
- Uses: `23456789ABCDEFGHJKLMNPQRSTUVWXYZ`
|
|
- Excludes: `0, 1, I, O` (to prevent confusion)
|
|
- No lowercase letters (for consistency)
|
|
|
|
### Examples:
|
|
|
|
- **ENV4B7X9K2MQ** - Secure random generation
|
|
- **ENVH3K8P5W7R** - Another secure random generation
|
|
- **ENV9F2N6Y4MP** - Each number is unpredictable
|
|
|
|
### Security Features:
|
|
|
|
1. **Cryptographic Hash** - Uses SHA-256 for randomness
|
|
2. **Timestamp Seed** - Includes microtime for uniqueness
|
|
3. **Unpredictable** - No date/time patterns visible
|
|
4. **No Sequential** - Cannot guess next number
|
|
5. **Character Filtering** - Excludes confusing characters
|
|
|
|
### Technical Implementation:
|
|
|
|
- Generated using cryptographic hash functions
|
|
- Seeds include timestamp + microtime + random integers
|
|
- Character pool designed to avoid visual confusion
|
|
- Multiple entropy sources for maximum security
|
|
- Still maintains 12-character length requirement
|
|
|
|
### Usage:
|
|
|
|
1. Number is automatically generated when form is submitted
|
|
2. Field is completely hidden from users (no manual interaction)
|
|
3. System validates uniqueness before saving to database
|
|
4. Success message shows the final registration number
|
|
5. Each generation is completely unpredictable and secure
|
|
6. No user interface for regeneration (fully automated)
|