Encoder/Decoder of various algorithm
npm install string-codec[![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url]
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');
// =>
encbuf = codec.bufferEncoder(buffer,'base64');
// =>
encbuf.toString();
// => 'aGVsbG8='
decbuf = codec.bufferDecoder(encbuf,'base64');
// =>
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
[npm-url]: https://npmjs.org/package/string-codec
[npm-image]: https://badge.fury.io/js/string-codec.svg
[travis-url]: https://travis-ci.org/knjcode/string-codec
[travis-image]: https://travis-ci.org/knjcode/string-codec.svg?branch=master