Encoder/Decoder of various algorithm
via npm (node package manager)
$ npm install string-codec
Require package:
var codec = require('string-codec');
Encode to Base64:
codec.encoder('hello','base64');
// => 'aGVsbG8='
Decode from Base64:
codec.decoder('aGVsbG8=','base64');
// => 'hello'
Encode Buffer to Base64:
buffer = new Buffer('hello');
// => <Buffer 68 65 6c 6c 6f>
encbuf = codec.bufferEncoder(buffer,'base64');
// => <Buffer 61 47 56 73 62 47 38 3d>
encbuf.toString();
// => 'aGVsbG8='
decbuf = codec.bufferDecoder(encbuf,'base64');
// => <Buffer 68 65 6c 6c 6f>
decbuf.toString();
// => 'hello'
List supported algorithm:
var codec = require('string-codec');
// list array of encoding algorithm
codec.ENC_ALGOS
// => ["hex","ascii","base64","base85","z85","ascii85","base91","rot5",
"rot13", "rot18", "rot47","rev","crc1","crc8","crc16","crc24",
"crc32","adler32","url","unixtime","lower","upper","punycode", etc.
// list array of decoding algorithm
codec.DEC_ALGOS
// => ["hex","ascii","base64","base85","z85","ascii85","base91","rot5",
"rot13","rot18","rot47","rev","url","unixtime","punycode", etc.
encoder(String input, String algorithm)
encode input with specified algorithm
bufferEncoder(Buffer input, String algorithm)
encode input buffer with specified algorithm
decoder(String input, String algorithm)
decode input with specified algorithm
bufferDecoder(Buffer input, String algorithm)
decode input buffer with specified algorithm
ENC_ALGOS
list supported encoding algorithm
ENC_HASHES
list supported hash algorithm
ENC_ALL
list all supported encoding algorithm (ENC_ALGOS + ENC_HASHES)
DEC_ALGOS
list supported decoding algorithm
DEC_HASHES
list supported hash decryption algorithm
DEC_ALL
list all supported decoding algorithm (DEC_ALGOS + DEC_HASHES)
encoder requires string input and outputs string
bufferEncoder requires Buffer input and outputs Buffer
algorithm | input | output |
---|---|---|
hex | string | hex string |
ascii | hex string | string |
unixtime | date string | unix timestamp |
rot5/rot13/rot18/rot47 rev (reverse string) url (url encoding) lower upper punycode |
string | string |
base64 base85 (z85) ascii85 base91 crc1/crc8/crc16/crc24/crc32 adler32 md4 md5 sha sha1 sha224 sha256 sha384 sha512 rmd160 whirlpool |
string or Buffer |
string or Buffer |
decoder requires string input and outputs string
bufferDecoder requires Buffer input and outputs Buffer
algorithm | input | output |
---|---|---|
hex | hex string | string |
ascii | string | hex string |
unixtime | unix timestamp | date string |
rot5/rot13/rot18/rot47 rev url punycode |
string | string |
base64 base85 (z85) ascii85 base91 md5 |
string or Buffer |
string or Buffer |
Accept hex string prefixed with '0x' or separated by a colon (:)
codec.decoder('616263','hex');
// => abc
codec.decoder('0x616263','hex');
// => abc
codec.decoder('61:62:63','hex');
// => abc
codec.decoder('0x61:62:63','hex');
// => abc
$ git clone https://github.com/knjcode/string-codec.git
$ cd string-codec
$ npm install
$ npm test
- @_rintaro_f
- @inaz2
- basE91 based on mscdex/base91.js
- Ascii85(base85)/z85(ZeroMQ) huandu/node-ascii85
- rot5/rot13/rot18/rot47 schnittstabil/caesar-salad
- crc1/crc8/crc16/crc24/crc32 alexgorbatchev/node-crc
- adler32 SheetJS/js-adler32
- MD5 decrypter MD5-hash.com