JSPM

atbash-cipher

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 10
  • Score
    100M100P100Q49649F
  • License MIT

atbash cipher in javascript for nodejs and the browser

Package Exports

  • atbash-cipher

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (atbash-cipher) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

atbash-cipher

atbash cipher in javascript for nodejs and the browser

demo: https://angeal185.github.io/atbash-cipher/

Installation

npm

$ npm install atbash-cipher --save

bower

$ bower install atbash-cipher

git

$ git clone git@github.com:angeal185/atbash-cipher.git

nodejs

const atbash = require('atbash-cipher')

browser

<script src="./dist/atbash.min.js"></script>

API

/**
 * shuffles your shift key (optional)
 *  @param {string} str ~ shift key
 **/
atbash.keygen(str)


/**
 *  callback
 *  @param {string} data ~ data to encrypt/decrypt
 *  @param {string} key ~ shift key
 *  @param {boolean} enc ~ true = encrypt | false = decrypt
 *  @param {function} cb ~ callback function(err,data)
 **/
atbash.shift(data, key, enc, cb) //returns callback


/**
 *  sync
 *  @param {string} data ~ data to encrypt/decrypt
 *  @param {string} key ~ shift key
 *  @param {boolean} enc ~ true = encrypt | false = decrypt
 **/
atbash.shiftSync(data, key, enc) //returns a string

/**
 *  promise
 *  @param {string} data ~ data to encrypt/decrypt
 *  @param {string} key ~ shift key
 *  @param {boolean} enc ~ true = encrypt | false = decrypt
 **/
atbash.shiftP(data, key, enc) //returns a promise


// demo

const atbash = require('atbash-cipher');

(function(){

  let test = '8476235846328abcdcdef',
  key = atbash.keygen('ABCDEF0123456789');

  //keygen
  console.log('keygen: '+ key)

  //sync
  console.log('sync test starting...')
  let syncEnc = atbash.shiftSync(test, key, true);
  console.log(syncEnc)
  let syncDec = atbash.shiftSync(syncEnc.data, key, false)
  console.log(syncDec)
  if(syncEnc.err){
    console.log('sync enc test failure.')
  } else if(syncDec.err){
    console.log('sync dec test failure.')
  } else {
    console.log('sync test done.')
  }

  //callback
  console.log('callback test starting...')
  atbash.shift(test, key, true, function(err,res){
    if(err){return console.log('callback enc test failure.')}
    console.log(res)
    atbash.shift(res.data, key, false, function(err,res){
      if(err){return console.log('callback dec test failure.')}
      console.log(res)
      console.log('callback test done.')
    })
  })

  // promise
  console.log('promise test starting...')
  atbash.shiftP(test, key, true).then(function(res){
    console.log(res)
    atbash.shiftP(res.data, key, false).then(function(res){
      console.log(res)
      console.log('promise test done.')
    }).catch(function(err){
      console.log('promise dec test failure.')
    })
  }).catch(function(err){
    console.log('promise enc test failure.')
  })
})()