- Notifications
You must be signed in to change notification settings - Fork0
OTP codes (One-time passcodes) made shorter
License
NotificationsYou must be signed in to change notification settings
russellsteadman/basic32
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Basic32 encodes and decodes OTP (One-time passcode) tokens to and from a standard length Base32 string, effectively making them shorter.
Basic32 decreases the number of characters needed for a OTP code, making the code easier for users to remember.
| Regular TOTP | Encoded TOTP |
|---|---|
| 6 digits | 4 chars |
| 7 digits | 5 chars |
| 8 digits | 6 chars |
| 9 digits | 6 chars |
npm i basic32
importBasic32from'basic32';
importBasic32from'basic32';/* Initialize the encoder */constbasic=newBasic32(/* Number of digits in OTP code, default: 6 */);/* Encode a number or string */basic.encode(123456);// -> "3WX0"basic.encode('123456');// -> "3WX0"/* Decode a string */basic.decode('3WX0');// -> "123456"/* Decode a string, but zero is switched with letter o */basic.decode('3WXO');// -> "123456"/* Decode the wrong number of characters */basic.decode('3WX0A');// -> new Error("Code should be 4 alphanumeric characters")/* Decode an already decoded string */basic.decode('123456');// -> "123456"
The following character transposition errors are automatically fixed.
| User Writes | Interpreted |
|---|---|
| (Letter) O | (Number) 0 |
| (Letter) I | (Number) 1 |
| (Letter) L | (Number) 1 |
| (Letter) B | (Number) 8 |
MIT © 2021Russell Steadman. See LICENSE.
About
OTP codes (One-time passcodes) made shorter
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.