Isn’t this just crockford encoding?
Every base-32 style encoding is Crockford at the core. The difference is in the alphabet, and also whether it requires padding or not (safe32 does not).
Crockford also incorporates error correction, which is unnecessary in modern systems since the underlying protocols do that already.
Re:You'll regret using natural keys
by vanderZwan on Wednesday June 05, 2024 @08:54AM
(#40584225)
Oh that looks well-thought out and is probably the sanest way to solve this particular problem!
It's obvious why the safe64/safe80/safe85 cannot do this, but is there a reason why the safe16 version doesn't have the same features?
Oh whoops that's an oversight! I'll fix that up tonight.
Another approach is using base31 with all vowels removed https://ss64.com/ps/syntax-base31.html
https://github.com/kstenerud/safe-encoding/blob/master/safe3...
Notably, confusable characters are interchangeable when being ingested (although a machine encoder MUST always produce canonical output). https://github.com/kstenerud/safe-encoding/blob/master/safe3...
So a user can confuse 1 for l, 0 for o, I for l, u for v, uppercase, lowercase etc, or the agent can say any of those over the phone, and it won't matter.