pyauth / pyotp

Python One-Time Password Library
https://pyauth.github.io/pyotp/
Other
2.91k stars 319 forks source link

Improve usability by adoptiny an alternative Base32 charset #119

Closed evilaliv3 closed 3 years ago

evilaliv3 commented 3 years ago

This commit propose to use the charset ABCDEFGHJKLMNPQRSTUVWXYZ23456789 in place of ABCDEFGHIJKLMNOPQRSTUVWXYZ234567.

The proposed charset is more usable as it do not contain any character in the set [O, 0, I, 1]

kislyuk commented 3 years ago

Thanks for the PR. This is a good idea, unfortunately it is outside the scope of this library because using such an alphabet would make PyOTP inconsistent with the key URI format specification (https://github.com/google/google-authenticator/wiki/Key-Uri-Format#secret) and incompatible with other OTP implementations. Specifically, the key URI format spec mandates the use of the default RFC 3548 base32 alphabet without padding.

evilaliv3 commented 3 years ago

Thank you @kislyuk; yep @zenmonkeykstop noticed the same and i was about to close this pull myself.