SSN numbers are good for 999,999,999 people alive or dead. At some point the US will hit that, right? Do we start reusing numbers? Sounds like a disaster waiting to happen.
SSN numbers are good for 999,999,999 people alive or dead. At some point the US will hit that, right? Do we start reusing numbers? Sounds like a disaster waiting to happen.
We could switch to hexadecimal digits and we’d be good for 68 billion.
Why stop at hex? You could use the entire alphabet. Even if you take only uppercase letters and numbers, we are at 36^9 possible numbers. If we include lowercase and special characters from ASCII, we can go much further.
It’s all fun and games until you’re assigned an SSN that contains a profanity. Because you know there’s a strong chance they’ll forget to implement a check for that until someone complains, and an even stronger chance that something that looks like a profanity will escape the first implementation of checks.
e.g. There will be someone assigned IMABUM123 and a) that will get through the understaffed / automated profanity check (no four letter words) and b) the person who gets it will have so many problems getting people to believe that it’s really their SSN, including the people who could assign them a new one.
Or language changes when the kids make new profanities.
You can actually get a new SSN already, if you have strong cultural or religious issues with your SSN https://faq.ssa.gov/en-us/Topic/article/KA-02220
So no need to implement a check in software, let the people do it for you.
E. G. For storage and performs reasons. 5 bytes vs 9 bytes. Multiplying by amount of users and various indexes - can produce very noticeably difference. More records per page.
If we say that the SSN database internally only stores numbers today, but could also store hexadecimal values without significant redesigns, I would assume that SSNs are stored as text already. So no matter if you put numbers, hex or text, 9 places will always use 9 bytes (assuming it’s ASCII only and doesn’t support UTF-8 etc.).
Furthermore, the post implied that the current technical limit is 999,999,999. That very much sounds like a character data type to me. Otherwise, the limit is usually something like 2^x.
If SSNs are stored as numbers today, then hex and text would lead to quite some change. If you go for a re-design, you can as well just increase the length of the field.
Just use IPv6