1.0.0 • Published 6 years ago

iscanonicalbase64 v1.0.0

Weekly downloads
1
License
MIT
Repository
github
Last release
6 years ago

is-canonical-base64

a regular expression to test wether a string is a valid base64, without ambiguity.

Base64 encodes bytes (base 256, 8 bits each) as chars each representing 6 bits. That means a one byte buffer necessarily becomes 2 chars, except only the top 2 bits of the last char are used (and the string is then padded with an == to take the spaces those chars would be)

It's recommended that implementations encode zeros here, but many implementations (including node.js's) accept non-zeros here, but just ignore them.

This can be a problem for signed data, because if the signature signs base64, you must retain exactly the encoded representation (including any ambiguity). So, it's good to enforce that ambigious representations are rejected.

License

MIT