{"_id":"scryptsy","_rev":"27-8cf77516d950b5f4af71df04bc663658","name":"scryptsy","dist-tags":{"latest":"2.1.0"},"versions":{"0.0.1":{"name":"scryptsy","version":"0.0.1","author":"","license":"MIT","_id":"scryptsy@0.0.1","maintainers":[{"name":"jp","email":"jprichardson@gmail.com"}],"dist":{"shasum":"12a5d3d6aef02472d21d71a041abc7c9669d4e47","tarball":"https://registry.npmjs.org/scryptsy/-/scryptsy-0.0.1.tgz","integrity":"sha512-YJ+ylsyZ/cLduN4wgyAmXcZ8iindUxS1gocqBeNP62IUw27zTCPa2gB6GsXkgTirH5QcrO3W+Vq2RSVxu4vsgg==","signatures":[{"sig":"MEYCIQDGx7jr8xtavliHOMF3TL95s1XqONaUYUxHzJlsq14rdAIhAPUQuT5lJ50G7CnYdBDcGGgowiXpW9lXCIKiypAMdac3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/scrypt.js","_from":".","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"jp","email":"jprichardson@gmail.com"},"_npmVersion":"1.3.24","description":"scryptsy ========","directories":{},"devDependencies":{"terst":"0.0.1"}},"0.1.0":{"name":"scryptsy","version":"0.1.0","keywords":["crytpo","cryptography","scrypt","kdf","litecoin","dogecoin","bitcoin","bip38"],"author":"","license":"MIT","_id":"scryptsy@0.1.0","maintainers":[{"name":"jp","email":"jprichardson@gmail.com"}],"homepage":"https://github.com/cryptocoinjs/scryptsy","bugs":{"url":"https://github.com/cryptocoinjs/scryptsy/issues"},"dist":{"shasum":"9f23c05a5685c89b99d0cacffa44d8fac11bd532","tarball":"https://registry.npmjs.org/scryptsy/-/scryptsy-0.1.0.tgz","integrity":"sha512-tFg1MrTNyL5Uj7jVRkLNUVu/FtS5G6Jv7Ml1GH+g4XumPGlwY6qHr66xpXTCdvNYhsZ/HddR/IHTr2AWafbj5w==","signatures":[{"sig":"MEYCIQCs7o9a0YoYBto5fW715tt/8SlcPSsLBdS4hM8OcdQKMAIhAM9z4MmibjMlCWxrIArtbHykYmwZVu64bNJ3V8332o8f","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/scrypt.js","_from":".","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"jp","email":"jprichardson@gmail.com"},"repository":{"url":"git@github.com:cryptocoinjs/scryptsy.git","type":"git"},"_npmVersion":"1.3.24","description":"scryptsy ========","directories":{},"dependencies":{"pbkdf2-sha256":"~0.1.1"},"devDependencies":{"mocha":"~1.17.1","terst":"0.0.1","browserify":"~3.30.1"}},"0.2.0":{"name":"scryptsy","version":"0.2.0","keywords":["crytpo","cryptography","scrypt","kdf","litecoin","dogecoin","bitcoin","bip38"],"author":"","license":"MIT","_id":"scryptsy@0.2.0","maintainers":[{"name":"jp","email":"jprichardson@gmail.com"}],"homepage":"https://github.com/cryptocoinjs/scryptsy","bugs":{"url":"https://github.com/cryptocoinjs/scryptsy/issues"},"dist":{"shasum":"7fa5c9e05ee379b8f43ab0d0d695e0054ac2935a","tarball":"https://registry.npmjs.org/scryptsy/-/scryptsy-0.2.0.tgz","integrity":"sha512-h145lc23cTqyQlt2sItjpwSet08H8GTfG6Ji+/qk+01QJKKc29+H4eSUEj3+NveC/myZmAGSnMDaoAoZXMNn5g==","signatures":[{"sig":"MEYCIQDHQva9oGv+pM8UHtemRjl173aE9SkO2YK67AZMWANOLAIhAN+JbyGmk5tZSgUGLx0/F67zSN+zon4bdAuUa8hpAIW5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/scrypt.js","_from":".","scripts":{"test":"make node-test"},"_npmUser":{"name":"jp","email":"jprichardson@gmail.com"},"repository":{"url":"git@github.com:cryptocoinjs/scryptsy.git","type":"git"},"_npmVersion":"1.3.24","description":"scryptsy ========","directories":{},"dependencies":{"pbkdf2-sha256":"~0.1.1"},"devDependencies":{"mocha":"~1.17.1","terst":"0.0.2","mochify":"~0.4.2"}},"1.0.0":{"name":"scryptsy","version":"1.0.0","keywords":["crytpo","cryptography","scrypt","kdf","litecoin","dogecoin","bitcoin","bip38"],"author":"","license":"MIT","_id":"scryptsy@1.0.0","maintainers":[{"name":"jp","email":"jprichardson@gmail.com"},{"name":"nadav","email":"npm@shesek.info"}],"homepage":"https://github.com/cryptocoinjs/scryptsy","bugs":{"url":"https://github.com/cryptocoinjs/scryptsy/issues"},"dist":{"shasum":"6f424455b11d491e4451376cb8e2bdf70d1f2b08","tarball":"https://registry.npmjs.org/scryptsy/-/scryptsy-1.0.0.tgz","integrity":"sha512-2bCvj3gjP0NBaYttp97jGs8WmDr4UTPAZaqYM4qFzT6dl9kKlQJTzmrpIveIai3ugxzOE7kILK4Xbxa1CiqJpQ==","signatures":[{"sig":"MEYCIQCBQw+d9wT88BiOtGudNJaT1Eh62zddf/DoxSMNusO5hgIhAJmGIhz1D0sddGvNf7yaOLf5gF7tGB06RJRJQfymQbfp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/scrypt.js","_from":".","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"},"_npmUser":{"name":"jp","email":"jprichardson@gmail.com"},"testling":{"files":"test/*.js","harness":"mocha","browsers":["firefox/latest","chrome/latest","ie/9..latest","safari/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"repository":{"url":"git@github.com:cryptocoinjs/scryptsy.git","type":"git"},"_npmVersion":"1.4.3","description":"Pure JavaScript implementation of the scrypt key deriviation function that is fully compatible with Node.js and the browser.","directories":{},"dependencies":{"pbkdf2-sha256":"^1.0.1"},"devDependencies":{"mocha":"^1.20.1","mochify":"^0.4.2","istanbul":"^0.2.11","coveralls":"^2.10.0","crypto-browserify":"^2.1.8"}},"1.1.0":{"name":"scryptsy","version":"1.1.0","keywords":["crytpo","cryptography","scrypt","kdf","litecoin","dogecoin","bitcoin","bip38"],"author":"","license":"MIT","_id":"scryptsy@1.1.0","maintainers":[{"name":"jp","email":"jprichardson@gmail.com"},{"name":"nadav","email":"npm@shesek.info"}],"homepage":"https://github.com/cryptocoinjs/scryptsy","bugs":{"url":"https://github.com/cryptocoinjs/scryptsy/issues"},"dist":{"shasum":"e15ede57ebfe351225a4f7d8460dae9799420bf2","tarball":"https://registry.npmjs.org/scryptsy/-/scryptsy-1.1.0.tgz","integrity":"sha512-NWWn+A4crufsP46lirOiEYGm6FfhBs+elWTfrsieUm3Grrj6k39b9yEopFzrmRviGJpPkc+vfF9R0acrV60o3w==","signatures":[{"sig":"MEUCIQDEGVFamCaHc9zBtnj//BE8KwoAMwoOpP8rUbE49hA2yAIgUS18vposrhHhcVgTEechjwyH6WQiWzdmjv3NYIMXuAM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/scrypt.js","_from":".","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"},"_npmUser":{"name":"jp","email":"jprichardson@gmail.com"},"testling":{"files":"test/*.js","harness":"mocha","browsers":["firefox/latest","chrome/latest","ie/9..latest","safari/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"repository":{"url":"git@github.com:cryptocoinjs/scryptsy.git","type":"git"},"_npmVersion":"1.4.3","description":"Pure JavaScript implementation of the scrypt key deriviation function that is fully compatible with Node.js and the browser.","directories":{},"dependencies":{"pbkdf2-sha256":"^1.0.1"},"devDependencies":{"mocha":"^1.20.1","mochify":"^0.4.2","istanbul":"^0.2.11","coveralls":"^2.10.0","crypto-browserify":"^2.1.8"}},"1.2.0":{"name":"scryptsy","version":"1.2.0","keywords":["crytpo","cryptography","scrypt","kdf","litecoin","dogecoin","bitcoin","bip38"],"author":"","license":"MIT","_id":"scryptsy@1.2.0","maintainers":[{"name":"jp","email":"jprichardson@gmail.com"},{"name":"nadav","email":"npm@shesek.info"}],"homepage":"https://github.com/cryptocoinjs/scryptsy","bugs":{"url":"https://github.com/cryptocoinjs/scryptsy/issues"},"dist":{"shasum":"71b7fb3b84af70fe4ea21370fe91848261eb0b20","tarball":"https://registry.npmjs.org/scryptsy/-/scryptsy-1.2.0.tgz","integrity":"sha512-RCB7zTqXHWYtAVVXCATnk5I0nfZ3Zraz6iRMKudcsnBO84R3esyKdzlqCMGx8hlAxnSfcyWwKP9jsk6+iwwuTg==","signatures":[{"sig":"MEYCIQDEgCWnSWZ8FVi9fuZm7LBVwubsurNOehdq3xPrTk7COwIhANV0op2FiEqmdnloeOVIC7u1nzhfhHkjC089h/PlAJb5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/scrypt.js","_from":".","_shasum":"71b7fb3b84af70fe4ea21370fe91848261eb0b20","gitHead":"14161320c79c79c5dca876850af1e57bb9e0db31","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"},"_npmUser":{"name":"jp","email":"jprichardson@gmail.com"},"repository":{"url":"git@github.com:cryptocoinjs/scryptsy.git","type":"git"},"_npmVersion":"2.1.11","description":"Pure JavaScript implementation of the scrypt key deriviation function that is fully compatible with Node.js and the browser.","directories":{},"_nodeVersion":"0.10.26","dependencies":{"pbkdf2-sha256":"^1.1.0"},"devDependencies":{"mocha":"^1.20.1","mochify":"^2.1.0","istanbul":"^0.2.11","coveralls":"^2.10.0"}},"1.2.1":{"name":"scryptsy","version":"1.2.1","keywords":["crytpo","cryptography","scrypt","kdf","litecoin","dogecoin","bitcoin","bip38"],"author":"","license":"MIT","_id":"scryptsy@1.2.1","maintainers":[{"name":"nadav","email":"npm@shesek.info"},{"name":"jprichardson","email":"jprichardson@gmail.com"}],"homepage":"https://github.com/cryptocoinjs/scryptsy","bugs":{"url":"https://github.com/cryptocoinjs/scryptsy/issues"},"dist":{"shasum":"a3225fa4b2524f802700761e2855bdf3b2d92163","tarball":"https://registry.npmjs.org/scryptsy/-/scryptsy-1.2.1.tgz","integrity":"sha512-aldIRgMozSJ/Gl6K6qmJZysRP82lz83Wb42vl4PWN8SaLFHIaOzLPc9nUUW2jQN88CuGm5q5HefJ9jZ3nWSmTw==","signatures":[{"sig":"MEYCIQCYkfavSOFHUXyB2ni4GlC2dNFEGZHQlBeMJDULGx+UlQIhAMrTxF3Xc4/Hc081ZrtUyivoPE5WixYabFadCCcwOxlP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/scrypt.js","_from":".","_shasum":"a3225fa4b2524f802700761e2855bdf3b2d92163","gitHead":"8654535daac060c0b8b6288eb35ca194f1e67d58","scripts":{"test":"mocha --ui bdd","unit":"mocha","coverage":"istanbul cover ./node_modules/.bin/_mocha -- --reporter list test/*.js","standard":"standard","coveralls":"npm run-script coverage && node ./node_modules/.bin/coveralls < coverage/lcov.info","browser-test":"mochify --wd -R spec"},"_npmUser":{"name":"jprichardson","email":"jprichardson@gmail.com"},"repository":{"url":"git@github.com:cryptocoinjs/scryptsy.git","type":"git"},"_npmVersion":"2.3.0","description":"Pure JavaScript implementation of the scrypt key deriviation function that is fully compatible with Node.js and the browser.","directories":{},"_nodeVersion":"0.10.32","dependencies":{"pbkdf2":"^3.0.3"},"devDependencies":{"mocha":"^2.2.0","mochify":"^2.1.0","istanbul":"^0.3.5","standard":"^3.2.0","coveralls":"^2.10.0"}},"2.0.0":{"name":"scryptsy","version":"2.0.0","keywords":["crytpo","cryptography","scrypt","kdf","litecoin","dogecoin","bitcoin","bip38"],"author":"","license":"MIT","_id":"scryptsy@2.0.0","maintainers":[{"name":"nadav","email":"npm@shesek.info"},{"name":"jprichardson","email":"jprichardson@gmail.com"}],"homepage":"https://github.com/cryptocoinjs/scryptsy#readme","bugs":{"url":"https://github.com/cryptocoinjs/scryptsy/issues"},"dist":{"shasum":"262c36f0231cfa7654e2363fa394cd2dec66f378","tarball":"https://registry.npmjs.org/scryptsy/-/scryptsy-2.0.0.tgz","integrity":"sha512-z+ukkvWZmpYUL+DtcnxbymFRLxnJeSee6EYgC+bBlytZ2HVBzanHHPzx9Q79qopaqI9ms+GG80F2MGcGCzCU9Q==","signatures":[{"sig":"MEUCIHBs4ffAzksJ64Im+VnmBx0mom6pxcwxhaoTGBOwoigJAiEAiikYW4Rj/sO2DO+pkECZar8h0zb06kK4AdNreKnJvQE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/scrypt.js","_from":".","_shasum":"262c36f0231cfa7654e2363fa394cd2dec66f378","gitHead":"8b0ff0d4edf72d5031e8f088b188c4ae1a604af9","scripts":{"lint":"standard","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"},"_npmUser":{"name":"jprichardson","email":"jprichardson@gmail.com"},"repository":{"url":"git+ssh://git@github.com/cryptocoinjs/scryptsy.git","type":"git"},"_npmVersion":"3.8.6","description":"Pure JavaScript implementation of the scrypt key deriviation function that is fully compatible with Node.js and the browser.","directories":{},"_nodeVersion":"6.1.0","dependencies":{},"devDependencies":{"mocha":"^2.2.0","mochify":"^2.1.0","istanbul":"^0.3.5","standard":"^7.1.1","coveralls":"^2.10.0"},"_npmOperationalInternal":{"tmp":"tmp/scryptsy-2.0.0.tgz_1464319774232_0.4792607366107404","host":"packages-16-east.internal.npmjs.com"}},"2.1.0":{"name":"scryptsy","version":"2.1.0","keywords":["crytpo","cryptography","scrypt","kdf","litecoin","dogecoin","bitcoin","bip38"],"author":"","license":"MIT","_id":"scryptsy@2.1.0","maintainers":[{"name":"jprichardson","email":"jprichardson@gmail.com"},{"name":"junderw","email":"junderwood@bitcoinbank.co.jp"},{"name":"nadav","email":"npm@shesek.info"}],"homepage":"https://github.com/cryptocoinjs/scryptsy#readme","bugs":{"url":"https://github.com/cryptocoinjs/scryptsy/issues"},"dist":{"shasum":"8d1e8d0c025b58fdd25b6fa9a0dc905ee8faa790","tarball":"https://registry.npmjs.org/scryptsy/-/scryptsy-2.1.0.tgz","fileCount":8,"integrity":"sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w==","signatures":[{"sig":"MEQCIEBs47vErZ8CVuyqdQmFfXdMC92xF6YfEuCk3o5sO6LAAiAd+7HYaSmWi4Fz8BD1RJCC3EgtKVmcxDJe767T/nGgkA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15643,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc95FXCRA9TVsSAnZWagAA65kQAKNQqYw3LH5z6BE2S6oc\n5LLqJpegqfB0J52S8LQpDTMy1+7ZSpymgtTF7UECUAKCwHTulF8hIscDbEvu\nr25a1m0ELfN6Dwvf4BsfR18p3iFcm6C2K9Mb2ZprPIYqEJemFfwKPn9St/uA\nDJzIluf6MimgpAB2hy1rJuwB2mZ7uyC0/a6AikDU5jb826deokrAoI+3u4RC\nPP/e5uTx3mDe5xybOgrTql6tnJSehXfA9beOycY2vnM3a2rqp4L9b6RbE6sC\nNc8ICh+qukYmKNE6pspxohvs5/WLK/8uqDuPgrei4Td2QuNwv2tk/jcAKYog\nTsOD46UZ/KLWsCmoFCy3SC7ZYowvnV8pnrOXQ+rTnw/zww+aVc6ZvVzTBI3t\n62FAz9Ci36G+fnwx024oKuRfRrNKln/RLoxw5GjhwaSnrs2GsmNTOOyRWS2I\nncYDjpmCdWMBoFKCSKguIx24fUYmme0VXT+AA0QD9HTH+iGOA3V1yVIR9mz8\nGPdbLmFl8vqzrJoKjdyeCelrjQG6for9OD0e4SZkkqpAmZ9voWY5RZbRLE36\nQ1sFi5aClen1YR2Jq+LexWHLt8tTVu6FCbq+3z5dVDJCbbGxgONKbp/RM6LT\nOW2rbtWBB428eIsJBeYxFnNUYp9zYbOI1YKxoY025KSw6r9jg5kJMMTxZNVS\new4W\r\n=v3tA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"395c3b09b21e06ea4a6cc2933e046c0984a414c5","scripts":{"lint":"standard","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"},"_npmUser":{"name":"junderw","email":"junderwood@bitcoinbank.co.jp"},"repository":{"url":"git+ssh://git@github.com/cryptocoinjs/scryptsy.git","type":"git"},"_npmVersion":"6.9.0","description":"Pure JavaScript implementation of the scrypt key deriviation function that is fully compatible with Node.js and the browser.","directories":{},"_nodeVersion":"10.16.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^13.3.0","mocha":"^6.0.2","mochify":"^6.1.0","standard":"^12.0.1","coveralls":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/scryptsy_2.1.0_1559728470428_0.9191130197757345","host":"s3://npm-registry-packages"}}},"time":{"created":"2014-02-18T19:40:30.842Z","modified":"2025-06-27T09:42:10.061Z","0.0.1":"2014-02-18T19:40:30.842Z","0.1.0":"2014-02-19T18:15:54.157Z","0.2.0":"2014-03-06T01:26:33.392Z","1.0.0":"2014-06-10T07:58:18.884Z","1.1.0":"2014-07-28T11:46:15.342Z","1.2.0":"2014-12-11T18:35:24.864Z","1.2.1":"2015-03-20T16:29:28.762Z","2.0.0":"2016-05-27T03:29:36.077Z","2.1.0":"2019-06-05T09:54:30.597Z"},"bugs":{"url":"https://github.com/cryptocoinjs/scryptsy/issues"},"license":"MIT","homepage":"https://github.com/cryptocoinjs/scryptsy#readme","keywords":["crytpo","cryptography","scrypt","kdf","litecoin","dogecoin","bitcoin","bip38"],"repository":{"url":"git+ssh://git@github.com/cryptocoinjs/scryptsy.git","type":"git"},"description":"Pure JavaScript implementation of the scrypt key deriviation function that is fully compatible with Node.js and the browser.","maintainers":[{"email":"npm@shesek.info","name":"nadav"},{"email":"jprichardson@gmail.com","name":"jprichardson"},{"email":"jonathan.underwood4649@gmail.com","name":"junderw"},{"email":"landabaso@gmail.com","name":"jl.landabaso"}],"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","readmeFilename":"README.md","users":{"sergiogimeno":true,"shanewholloway":true}}