{"_id":"scryptsy","_rev":"4617888","name":"scryptsy","description":"Pure JavaScript implementation of the scrypt key deriviation function that is fully compatible with Node.js and the browser.","dist-tags":{"latest":"2.1.0"},"maintainers":[{"name":"jl.landabaso","email":""},{"name":"jprichardson","email":""},{"name":"junderw","email":"junderwood@bitcoinbank.co.jp"},{"name":"nadav","email":""}],"time":{"modified":"2026-04-10T18:16:48.000Z","created":"2014-02-18T19:40:30.842Z","2.1.0":"2019-06-05T09:54:30.597Z","2.0.0":"2016-05-27T03:29:36.077Z","1.2.1":"2015-03-20T16:29:28.762Z","1.2.0":"2014-12-11T18:35:24.864Z","1.1.0":"2014-07-28T11:46:15.342Z","1.0.0":"2014-06-10T07:58:18.884Z","0.2.0":"2014-03-06T01:26:33.392Z","0.1.0":"2014-02-19T18:15:54.157Z","0.0.1":"2014-02-18T19:40:30.842Z"},"users":{},"author":"","repository":{"url":"git+ssh://git@github.com/cryptocoinjs/scryptsy.git","type":"git"},"versions":{"2.1.0":{"name":"scryptsy","version":"2.1.0","description":"Pure JavaScript implementation of the scrypt key deriviation function that is fully compatible with Node.js and the browser.","main":"lib/index.js","author":"","license":"MIT","devDependencies":{"coveralls":"^3.0.3","mocha":"^6.0.2","mochify":"^6.1.0","nyc":"^13.3.0","standard":"^12.0.1"},"dependencies":{},"repository":{"url":"git+ssh://git@github.com/cryptocoinjs/scryptsy.git","type":"git"},"keywords":["crytpo","cryptography","scrypt","kdf","litecoin","dogecoin","bitcoin","bip38"],"scripts":{"test":"mocha --ui bdd","unit":"mocha","coverage":"nyc --check-coverage --statements 80 --branches 60 --functions 90 --lines 90 mocha","coveralls":"npm run-script coverage && coveralls < coverage/lcov.info","browser-test":"mochify --wd -R spec","lint":"standard"},"gitHead":"395c3b09b21e06ea4a6cc2933e046c0984a414c5","bugs":{"url":"https://github.com/cryptocoinjs/scryptsy/issues"},"homepage":"https://github.com/cryptocoinjs/scryptsy#readme","_id":"scryptsy@2.1.0","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"shasum":"8d1e8d0c025b58fdd25b6fa9a0dc905ee8faa790","size":5672,"noattachment":false,"key":"/scryptsy/-/scryptsy-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/scryptsy/download/scryptsy-2.1.0.tgz"},"maintainers":[{"name":"jl.landabaso","email":""},{"name":"jprichardson","email":""},{"name":"junderw","email":"junderwood@bitcoinbank.co.jp"},{"name":"nadav","email":""}],"_npmUser":{"name":"junderw","email":"junderwood@bitcoinbank.co.jp"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/scryptsy_2.1.0_1559728470428_0.9191130197757345"},"_hasShrinkwrap":false,"publish_time":1559728470597,"_cnpm_publish_time":1559728470597,"_cnpmcore_publish_time":"2021-12-16T12:13:58.934Z"},"2.0.0":{"name":"scryptsy","version":"2.0.0","description":"Pure JavaScript implementation of the scrypt key deriviation function that is fully compatible with Node.js and the browser.","main":"lib/scrypt.js","author":"","license":"MIT","devDependencies":{"coveralls":"^2.10.0","istanbul":"^0.3.5","mocha":"^2.2.0","mochify":"^2.1.0","standard":"^7.1.1"},"dependencies":{},"repository":{"url":"git+ssh://git@github.com/cryptocoinjs/scryptsy.git","type":"git"},"keywords":["crytpo","cryptography","scrypt","kdf","litecoin","dogecoin","bitcoin","bip38"],"scripts":{"test":"mocha --ui bdd","unit":"mocha","coverage":"istanbul cover ./node_modules/.bin/_mocha -- --reporter list test/*.js","coveralls":"npm run-script coverage && node ./node_modules/.bin/coveralls < coverage/lcov.info","browser-test":"mochify --wd -R spec","lint":"standard"},"gitHead":"8b0ff0d4edf72d5031e8f088b188c4ae1a604af9","bugs":{"url":"https://github.com/cryptocoinjs/scryptsy/issues"},"homepage":"https://github.com/cryptocoinjs/scryptsy#readme","_id":"scryptsy@2.0.0","_shasum":"262c36f0231cfa7654e2363fa394cd2dec66f378","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.1.0","_npmUser":{"name":"jprichardson","email":"jprichardson@gmail.com"},"dist":{"shasum":"262c36f0231cfa7654e2363fa394cd2dec66f378","size":4004,"noattachment":false,"key":"/scryptsy/-/scryptsy-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/scryptsy/download/scryptsy-2.0.0.tgz"},"maintainers":[{"name":"jl.landabaso","email":""},{"name":"jprichardson","email":""},{"name":"junderw","email":"junderwood@bitcoinbank.co.jp"},{"name":"nadav","email":""}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/scryptsy-2.0.0.tgz_1464319774232_0.4792607366107404"},"directories":{},"publish_time":1464319776077,"_hasShrinkwrap":false,"_cnpm_publish_time":1464319776077,"_cnpmcore_publish_time":"2021-12-16T12:13:59.185Z"},"1.2.1":{"name":"scryptsy","version":"1.2.1","description":"Pure JavaScript implementation of the scrypt key deriviation function that is fully compatible with Node.js and the browser.","main":"lib/scrypt.js","author":"","license":"MIT","devDependencies":{"coveralls":"^2.10.0","istanbul":"^0.3.5","mocha":"^2.2.0","mochify":"^2.1.0","standard":"^3.2.0"},"dependencies":{"pbkdf2":"^3.0.3"},"repository":{"url":"git@github.com:cryptocoinjs/scryptsy.git","type":"git"},"keywords":["crytpo","cryptography","scrypt","kdf","litecoin","dogecoin","bitcoin","bip38"],"scripts":{"test":"mocha --ui bdd","unit":"mocha","coverage":"istanbul cover ./node_modules/.bin/_mocha -- --reporter list test/*.js","coveralls":"npm run-script coverage && node ./node_modules/.bin/coveralls < coverage/lcov.info","browser-test":"mochify --wd -R spec","standard":"standard"},"gitHead":"8654535daac060c0b8b6288eb35ca194f1e67d58","bugs":{"url":"https://github.com/cryptocoinjs/scryptsy/issues"},"homepage":"https://github.com/cryptocoinjs/scryptsy","_id":"scryptsy@1.2.1","_shasum":"a3225fa4b2524f802700761e2855bdf3b2d92163","_from":".","_npmVersion":"2.3.0","_nodeVersion":"0.10.32","_npmUser":{"name":"jprichardson","email":"jprichardson@gmail.com"},"maintainers":[{"name":"jl.landabaso","email":""},{"name":"jprichardson","email":""},{"name":"junderw","email":"junderwood@bitcoinbank.co.jp"},{"name":"nadav","email":""}],"dist":{"shasum":"a3225fa4b2524f802700761e2855bdf3b2d92163","size":3180,"noattachment":false,"key":"/scryptsy/-/scryptsy-1.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/scryptsy/download/scryptsy-1.2.1.tgz"},"directories":{},"publish_time":1426868968762,"_hasShrinkwrap":false,"_cnpm_publish_time":1426868968762,"_cnpmcore_publish_time":"2021-12-16T12:13:59.610Z"},"1.2.0":{"name":"scryptsy","version":"1.2.0","description":"Pure JavaScript implementation of the scrypt key deriviation function that is fully compatible with Node.js and the browser.","main":"lib/scrypt.js","author":"","license":"MIT","devDependencies":{"mocha":"^1.20.1","mochify":"^2.1.0","istanbul":"^0.2.11","coveralls":"^2.10.0"},"dependencies":{"pbkdf2-sha256":"^1.1.0"},"repository":{"url":"git@github.com:cryptocoinjs/scryptsy.git","type":"git"},"keywords":["crytpo","cryptography","scrypt","kdf","litecoin","dogecoin","bitcoin","bip38"],"scripts":{"test":"mocha --ui bdd","unit":"mocha","coverage":"istanbul cover ./node_modules/.bin/_mocha -- --reporter list test/*.js","coveralls":"npm run-script coverage && node ./node_modules/.bin/coveralls < coverage/lcov.info","browser-test":"mochify --wd -R spec"},"gitHead":"14161320c79c79c5dca876850af1e57bb9e0db31","bugs":{"url":"https://github.com/cryptocoinjs/scryptsy/issues"},"homepage":"https://github.com/cryptocoinjs/scryptsy","_id":"scryptsy@1.2.0","_shasum":"71b7fb3b84af70fe4ea21370fe91848261eb0b20","_from":".","_npmVersion":"2.1.11","_nodeVersion":"0.10.26","_npmUser":{"name":"jp","email":"jprichardson@gmail.com"},"maintainers":[{"name":"jl.landabaso","email":""},{"name":"jprichardson","email":""},{"name":"junderw","email":"junderwood@bitcoinbank.co.jp"},{"name":"nadav","email":""}],"dist":{"shasum":"71b7fb3b84af70fe4ea21370fe91848261eb0b20","size":3129,"noattachment":false,"key":"/scryptsy/-/scryptsy-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/scryptsy/download/scryptsy-1.2.0.tgz"},"directories":{},"publish_time":1418322924864,"_hasShrinkwrap":false,"_cnpm_publish_time":1418322924864,"_cnpmcore_publish_time":"2021-12-16T12:13:59.859Z"},"1.1.0":{"name":"scryptsy","version":"1.1.0","description":"Pure JavaScript implementation of the scrypt key deriviation function that is fully compatible with Node.js and the browser.","main":"lib/scrypt.js","author":"","license":"MIT","devDependencies":{"mocha":"^1.20.1","mochify":"^0.4.2","crypto-browserify":"^2.1.8","istanbul":"^0.2.11","coveralls":"^2.10.0"},"dependencies":{"pbkdf2-sha256":"^1.0.1"},"repository":{"url":"git@github.com:cryptocoinjs/scryptsy.git","type":"git"},"keywords":["crytpo","cryptography","scrypt","kdf","litecoin","dogecoin","bitcoin","bip38"],"browser":{"crypto":"crypto-browserify"},"scripts":{"test":"mocha --ui bdd","unit":"mocha","coverage":"istanbul cover ./node_modules/.bin/_mocha -- --reporter list test/*.js","coveralls":"npm run-script coverage && node ./node_modules/.bin/coveralls < coverage/lcov.info"},"testling":{"harness":"mocha","files":"test/*.js","browsers":["firefox/latest","chrome/latest","ie/9..latest","safari/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"bugs":{"url":"https://github.com/cryptocoinjs/scryptsy/issues"},"homepage":"https://github.com/cryptocoinjs/scryptsy","_id":"scryptsy@1.1.0","dist":{"shasum":"e15ede57ebfe351225a4f7d8460dae9799420bf2","size":3366,"noattachment":false,"key":"/scryptsy/-/scryptsy-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/scryptsy/download/scryptsy-1.1.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"jp","email":"jprichardson@gmail.com"},"maintainers":[{"name":"jl.landabaso","email":""},{"name":"jprichardson","email":""},{"name":"junderw","email":"junderwood@bitcoinbank.co.jp"},{"name":"nadav","email":""}],"directories":{},"publish_time":1406547975342,"_hasShrinkwrap":false,"_cnpm_publish_time":1406547975342,"_cnpmcore_publish_time":"2021-12-16T12:14:00.087Z"},"1.0.0":{"name":"scryptsy","version":"1.0.0","description":"Pure JavaScript implementation of the scrypt key deriviation function that is fully compatible with Node.js and the browser.","main":"lib/scrypt.js","author":"","license":"MIT","devDependencies":{"mocha":"^1.20.1","mochify":"^0.4.2","crypto-browserify":"^2.1.8","istanbul":"^0.2.11","coveralls":"^2.10.0"},"dependencies":{"pbkdf2-sha256":"^1.0.1"},"repository":{"url":"git@github.com:cryptocoinjs/scryptsy.git","type":"git"},"keywords":["crytpo","cryptography","scrypt","kdf","litecoin","dogecoin","bitcoin","bip38"],"browser":{"crypto":"crypto-browserify"},"scripts":{"test":"mocha --ui bdd","unit":"mocha","coverage":"istanbul cover ./node_modules/.bin/_mocha -- --reporter list test/*.js","coveralls":"npm run-script coverage && node ./node_modules/.bin/coveralls < coverage/lcov.info"},"testling":{"harness":"mocha","files":"test/*.js","browsers":["firefox/latest","chrome/latest","ie/9..latest","safari/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"bugs":{"url":"https://github.com/cryptocoinjs/scryptsy/issues"},"homepage":"https://github.com/cryptocoinjs/scryptsy","_id":"scryptsy@1.0.0","dist":{"shasum":"6f424455b11d491e4451376cb8e2bdf70d1f2b08","size":3123,"noattachment":false,"key":"/scryptsy/-/scryptsy-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/scryptsy/download/scryptsy-1.0.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"jp","email":"jprichardson@gmail.com"},"maintainers":[{"name":"jl.landabaso","email":""},{"name":"jprichardson","email":""},{"name":"junderw","email":"junderwood@bitcoinbank.co.jp"},{"name":"nadav","email":""}],"directories":{},"publish_time":1402387098884,"_hasShrinkwrap":false,"_cnpm_publish_time":1402387098884,"_cnpmcore_publish_time":"2021-12-16T12:14:00.306Z"},"0.2.0":{"name":"scryptsy","version":"0.2.0","description":"scryptsy ========","main":"lib/scrypt.js","scripts":{"test":"make node-test"},"author":"","license":"MIT","devDependencies":{"terst":"0.0.2","mocha":"~1.17.1","mochify":"~0.4.2"},"dependencies":{"pbkdf2-sha256":"~0.1.1"},"repository":{"url":"git@github.com:cryptocoinjs/scryptsy.git","type":"git"},"keywords":["crytpo","cryptography","scrypt","kdf","litecoin","dogecoin","bitcoin","bip38"],"bugs":{"url":"https://github.com/cryptocoinjs/scryptsy/issues"},"homepage":"https://github.com/cryptocoinjs/scryptsy","_id":"scryptsy@0.2.0","dist":{"shasum":"7fa5c9e05ee379b8f43ab0d0d695e0054ac2935a","size":4299,"noattachment":false,"key":"/scryptsy/-/scryptsy-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/scryptsy/download/scryptsy-0.2.0.tgz"},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"jp","email":"jprichardson@gmail.com"},"maintainers":[{"name":"jl.landabaso","email":""},{"name":"jprichardson","email":""},{"name":"junderw","email":"junderwood@bitcoinbank.co.jp"},{"name":"nadav","email":""}],"directories":{},"publish_time":1394069193392,"_hasShrinkwrap":false,"_cnpm_publish_time":1394069193392,"_cnpmcore_publish_time":"2021-12-16T12:14:00.541Z"},"0.1.0":{"name":"scryptsy","version":"0.1.0","description":"scryptsy ========","main":"lib/scrypt.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":"","license":"MIT","devDependencies":{"terst":"0.0.1","browserify":"~3.30.1","mocha":"~1.17.1"},"dependencies":{"pbkdf2-sha256":"~0.1.1"},"repository":{"url":"git@github.com:cryptocoinjs/scryptsy.git","type":"git"},"keywords":["crytpo","cryptography","scrypt","kdf","litecoin","dogecoin","bitcoin","bip38"],"bugs":{"url":"https://github.com/cryptocoinjs/scryptsy/issues"},"homepage":"https://github.com/cryptocoinjs/scryptsy","_id":"scryptsy@0.1.0","dist":{"shasum":"9f23c05a5685c89b99d0cacffa44d8fac11bd532","size":4978,"noattachment":false,"key":"/scryptsy/-/scryptsy-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/scryptsy/download/scryptsy-0.1.0.tgz"},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"jp","email":"jprichardson@gmail.com"},"maintainers":[{"name":"jl.landabaso","email":""},{"name":"jprichardson","email":""},{"name":"junderw","email":"junderwood@bitcoinbank.co.jp"},{"name":"nadav","email":""}],"directories":{},"publish_time":1392833754157,"_hasShrinkwrap":false,"_cnpm_publish_time":1392833754157,"_cnpmcore_publish_time":"2021-12-16T12:14:00.770Z"},"0.0.1":{"name":"scryptsy","version":"0.0.1","description":"scryptsy ========","main":"lib/scrypt.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":"","license":"MIT","devDependencies":{"terst":"0.0.1"},"_id":"scryptsy@0.0.1","dist":{"shasum":"12a5d3d6aef02472d21d71a041abc7c9669d4e47","size":13415,"noattachment":false,"key":"/scryptsy/-/scryptsy-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/scryptsy/download/scryptsy-0.0.1.tgz"},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"jp","email":"jprichardson@gmail.com"},"maintainers":[{"name":"jl.landabaso","email":""},{"name":"jprichardson","email":""},{"name":"junderw","email":"junderwood@bitcoinbank.co.jp"},{"name":"nadav","email":""}],"directories":{},"publish_time":1392752430842,"_hasShrinkwrap":false,"_cnpm_publish_time":1392752430842,"_cnpmcore_publish_time":"2021-12-16T12:14:01.074Z"}},"readme":"scryptsy\n========\n\n[![build status](https://secure.travis-ci.org/cryptocoinjs/scryptsy.svg)](http://travis-ci.org/cryptocoinjs/scryptsy)\n[![Coverage Status](https://img.shields.io/coveralls/cryptocoinjs/scryptsy.svg)](https://coveralls.io/r/cryptocoinjs/scryptsy)\n[![Version](http://img.shields.io/npm/v/scryptsy.svg)](https://www.npmjs.org/package/scryptsy)\n\n`scryptsy` is a pure Javascript implementation of the [scrypt][wiki] key derivation function that is fully compatible with Node.js and the browser (via Browserify).\n\n\nWhy?\n----\n\n`Scrypt` is an integral part of many crypto currencies. It's a part of the [BIP38](https://github.com/bitcoin/bips/blob/master/bip-0038.mediawiki) standard for encrypting private Bitcoin keys. It also serves as the [proof-of-work system](http://en.wikipedia.org/wiki/Proof-of-work_system) for many crypto currencies, most notably: Litecoin and Dogecoin.\n\n\n\nInstallation\n------------\n\n    npm install --save scryptsy\n\n\n\nBrowserify Note\n------------\n\nWhen using a browserified bundle, be sure to add `setImmediate` as a shim.\n\n\n\nExample\n-------\n\n```js\nconst scrypt = require('scryptsy')\n\nasync function main () {\n  var key = \"pleaseletmein\"\n  var salt = \"SodiumChloride\"\n  var data1 = scrypt(key, salt, 16384, 8, 1, 64)\n  console.log(data1.toString('hex'))\n  // => 7023bdcb3afd7348461c06cd81fd38ebfda8fbba904f8e3ea9b543f6545da1f2d5432955613f0fcf62d49705242a9af9e61e85dc0d651e40dfcf017b45575887\n\n  // async is actually slower, but it will free up the event loop occasionally\n  // which will allow for front end GUI elements to update and cause it to not\n  // freeze up.\n  // See benchmarks below\n  // Passing 300 below means every 300 iterations internally will call setImmediate once\n  var data2 = await scrypt.async(key, salt, 16384, 8, 1, 64, undefined, 300)\n  console.log(data2.toString('hex'))\n  // => 7023bdcb3afd7348461c06cd81fd38ebfda8fbba904f8e3ea9b543f6545da1f2d5432955613f0fcf62d49705242a9af9e61e85dc0d651e40dfcf017b45575887\n}\nmain().catch(console.error)\n```\n\n\nBenchmarks\n-------\n\nInternal iterations are N * p, so changing r doesn't affect the number of calls to setImmediate.\nDecreasing pI decreases performance in exchange for more frequently freeing the event loop.\n(pI Default is 5000 loops per setImmediate call)\n\nNote: these benchmarks were done on node v10 on a CPU with good single thread performance.\nbrowsers show a much larger difference. Please tinker with the pI setting to balance between\nperformance and GUI responsiveness.\n\nIf `pI >= N`, setImmediate will only be called `p * 2` times total (on the i = 0 of each for loop).\n\n```\n---------------------------\ntime    : type : (N,r,p,pI) (pI = promiseInterval)\n---------------------------\n2266 ms :  sync (2^16,16,1)\n2548 ms : async (2^16,16,1,5000)\n12.44% increase\n---------------------------\n2616 ms :  sync (2^16,1,16)\n2995 ms : async (2^16,1,16,5000)\n14.49% increase\n---------------------------\n2685 ms :  sync (2^20,1,1)\n3090 ms : async (2^20,1,1,5000)\n15.08% increase\n---------------------------\n2235 ms :  sync (2^16,16,1)\n2627 ms : async (2^16,16,1,10)\n17.54% increase\n---------------------------\n2592 ms :  sync (2^16,1,16)\n3305 ms : async (2^16,1,16,10)\n27.51% increase\n---------------------------\n2705 ms :  sync (2^20,1,1)\n3363 ms : async (2^20,1,1,10)\n24.33% increase\n---------------------------\n2278 ms :  sync (2^16,16,1)\n2773 ms : async (2^16,16,1,1)\n21.73% increase\n---------------------------\n2617 ms :  sync (2^16,1,16)\n5632 ms : async (2^16,1,16,1)\n115.21% increase\n---------------------------\n2727 ms :  sync (2^20,1,1)\n5723 ms : async (2^20,1,1,1)\n109.86% increase\n---------------------------\n```\n\nAPI\n---\n\n### scrypt(key, salt, N, r, p, keyLenBytes, [progressCallback])\n\n- **key**: The key. Either `Buffer` or `string`.\n- **salt**: The salt. Either `Buffer` or `string`.\n- **N**: The number of iterations. `number` (integer)\n- **r**: Memory factor. `number` (integer)\n- **p**: Parallelization factor. `number` (integer)\n- **keyLenBytes**: The number of bytes to return. `number` (integer)\n- **progressCallback**: Call callback on every `1000` ops. Passes in `{current, total, percent}` as first parameter to `progressCallback()`.\n\nReturns `Buffer`.\n\n### scrypt.async(key, salt, N, r, p, keyLenBytes, [progressCallback, promiseInterval])\n\n- **key**: The key. Either `Buffer` or `string`.\n- **salt**: The salt. Either `Buffer` or `string`.\n- **N**: The number of iterations. `number` (integer)\n- **r**: Memory factor. `number` (integer)\n- **p**: Parallelization factor. `number` (integer)\n- **keyLenBytes**: The number of bytes to return. `number` (integer)\n- **progressCallback**: Call callback on every `1000` ops. Passes in `{current, total, percent}` as first parameter to `progressCallback()`.\n- **promiseInterval**: The number of internal iterations before calling setImmediate once to free the event loop.\n\nReturns `Promise<Buffer>`.\n\n\n\nResources\n---------\n- [Tarsnap Blurb on Scrypt][tarsnap]\n- [Scrypt Whitepaper](http://www.tarsnap.com/scrypt/scrypt.pdf)\n- [IETF Scrypt](https://tools.ietf.org/html/draft-josefsson-scrypt-kdf-00) (Test vector params are [incorrect](https://twitter.com/dchest/status/247734446881640448).)\n\n\nLicense\n-------\n\nMIT\n\n\n[wiki]: http://en.wikipedia.org/wiki/Scrypt\n[tarsnap]: http://www.tarsnap.com/scrypt.html\n","_attachments":{},"homepage":"https://github.com/cryptocoinjs/scryptsy#readme","bugs":{"url":"https://github.com/cryptocoinjs/scryptsy/issues"},"license":"MIT"}