Skip to content

Scrypt KDF is used for BIP38 (encryption of private keys) and proof of work for some crypto currencies.

Notifications You must be signed in to change notification settings

cryptostorage/scryptsy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

scryptsy

build status Coverage Status Version

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 or string.
  • salt: The salt. Either Buffer or string.
  • 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 to progressCallback().

Returns Buffer.

Resources

License

MIT

About

Scrypt KDF is used for BIP38 (encryption of private keys) and proof of work for some crypto currencies.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%