Skip to content

jedisct1/js-base64-ct

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Safe Base64 codecs for JavaScript

A pure JavaScript port of the libsodium base64 codecs.

Features:

  • Supports traditional and URL-safe variants, with or without padding
  • Rejects non-canonical padding
  • Constant-time (best-effort), suitable for encoding/decoding secrets
  • Characters can be ignored by the decoder

Available on NPM: base64-ct

Usage:

  • Traditional alphabet, padding:
const codec = new Base64(true);
const b64 = codec.encode(data);
const data2 = codec.decode(b64);
  • Traditional alphabet, no padding:
const codec = new Base64(false);
const b64 = codec.encode(data);
const data2 = codec.decode(b64);
  • URL-safe, no padding:
const codec = new Base64UrlSafe(false);
const b64 = codec.encode(data);
const data2 = codec.decode(b64);
  • URL-safe, padding, ignoring spaces and \n:
const codec = new Base64UrlSafe(true, " \n");
const b64 = codec.encode(data);
const data2 = codec.decode(b64);

About

Safe Base64 encoding/decoding in pure JavaScript.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published