Skip to content
atbash cipher in javascript for nodejs and the browser
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist
docs
lib
test
.gitignore
LICENSE
README.md
bower.json
index.js
package.json

README.md

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.')
  })
})()
You can’t perform that action at this time.