mirror of
https://github.com/BlueWallet/BlueWallet.git
synced 2024-11-19 18:00:17 +01:00
.. | ||
lib | ||
.npmignore | ||
CHANGELOG.md | ||
package.json | ||
README.md |
scryptsy
scryptsy
is a pure Javascript implementation of the scrypt key derivation function that is fully compatible with Node.js and the browser (via Browserify).
Why?
Scrypt
is an integral part of many crypto currencies. It's a part of the BIP38 standard for encrypting private Bitcoin keys. It also serves as the proof-of-work system for many crypto currencies, most notably: Litecoin and Dogecoin.
Installation
npm install --save scryptsy
Example
var scrypt = require('scryptsy')
var key = "pleaseletmein"
var salt = "SodiumChloride"
var data = scrypt(key, salt, 16384, 8, 1, 64)
console.log(data.toString('hex'))
// => 7023bdcb3afd7348461c06cd81fd38ebfda8fbba904f8e3ea9b543f6545da1f2d5432955613f0fcf62d49705242a9af9e61e85dc0d651e40dfcf017b45575887
API
scrypt(key, salt, N, r, p, keyLenBytes, [progressCallback])
- key: The key. Either
Buffer
orstring
. - salt: The salt. Either
Buffer
orstring
. - N: The number of iterations.
number
(integer) - r: Memory factor.
number
(integer) - p: Parallelization factor.
number
(integer) - keyLenBytes: The number of bytes to return.
number
(integer) - progressCallback: Call callback on every
1000
ops. Passes in{current, total, percent}
as first parameter toprogressCallback()
.
Returns Buffer
.
Resources
- Tarsnap Blurb on Scrypt
- Scrypt Whitepaper
- IETF Scrypt (Test vector params are incorrect.)
License
MIT