- Notifications
You must be signed in to change notification settings - Fork0
npkgz/crypto-magic
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A set of utility functions/wrapper to simplify the development workflow
$ yarn add crypto-magic
- Hash Function Wrapper (MD5, SHA1, SHA244, SHA256, SHA384, SHA512, WHIRLPOOL)
- Create Object/Array Hashes based on its JSON representation
- UUIDv4 generator usinc async crypto api
randomBytes
- base64 urlsafe encoder/decoder
Provides easy access to theNode.js Crypto Hash functions. Examples are available inexamples/hash.js
const{hash}=require('crypto-magic');console.log(hash.sha256('Hello World'));
The argumentencoding
is optional and defines the output encoding of the digest.
- hex (default) - hexadecimal string output
- base64 - base64 string output
- base64urlsafe - url-safe base64 string output (/+= are replaced by_-)
- binary - binary output asBuffer
The following wrappers are included:
md5(input:mixed, [encoding:string])
sha1(input:mixed, [encoding:string])
sha2(input:mixed, [encoding:string])
sha224(input:mixed, [encoding:string])
sha256(input:mixed, [encoding:string])
sha384(input:mixed, [encoding:string])
sha512(input:mixed, [encoding:string])
whirlpool(input:mixed, [encoding:string])
const{hash}=require('crypto-magic');// some inputconstinput='Hello World';// display some hashesconsole.log('Default HEX Output');console.log(' |- MD5 ',hash.md5(input));console.log(' |- SHA1 ',hash.sha1(input));console.log(' |- SHA256 ',hash.sha256(input));console.log(' |- SHA384 ',hash.sha384(input));console.log(' |- SHA512 ',hash.sha512(input));console.log(' |- WHIRLPOOL',hash.whirlpool(input));// override the default output typeconsole.log('Override the default output settings');console.log(' |- HEX ',hash.sha1(input,'hex'));console.log(' |- BIN ',hash.sha1(input,'binary'));console.log(' |- BASE64 ',hash.sha1(input,'base64'));console.log('');
Objects/Arrays are automatically serialized as JSON String. The JSON object is then passed into the hash function.
const{hash}=require('crypto-magic');// demo objectconstobjectInput={x:1,b:2,c:[5,6,7],d:{y:'Hello',z:'World'}};console.log('Object Input');console.log(' |- SHA256 ',hash.sha256(objectInput));
Create random hashes easily. Just calls thecrypto-magic.hash
functions with a random content generated bycrypto-magic.random(514)
- helpful for random URLs or filenames (e.g. cache hashes).
// url-safe base64const{randomHash}=require('crypto-magic');// all hash function of crypto-magic.hash are supportedconsole.log(awaitrandomHash.sha256('base64urlsafe'));// output like b7qhqd-WnKAH_GmBpSpvQrdkfUdLxL0m__XGcLTRsbI
crypto-magic is OpenSource and licensed under the Terms ofThe MIT License (X11) - your're welcome to contribute
About
crypto related functions
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.