diff --git a/index.js b/index.js index a742002..4c0da31 100644 --- a/index.js +++ b/index.js @@ -1,12 +1,15 @@ var assert = require('assert') -var CryptoJS = require('crypto-js') var crypto = require('crypto') +var pbkdf2 = require('pbkdf2-compat') var DEFAULT_WORDLIST = require('./wordlists/en.json') +function mnemonicToSeed(mnemonic, password) { + return pbkdf2(mnemonic, salt(password), 2048, 64, 'sha512') +} + function mnemonicToSeedHex(mnemonic, password) { - var options = { iterations: 2048, hasher: CryptoJS.algo.SHA512, keySize: 512/32 } - return CryptoJS.PBKDF2(mnemonic, salt(password), options).toString(CryptoJS.enc.Hex) + return mnemonicToSeed(mnemonic, password).toString('hex') } function mnemonicToEntropy(mnemonic, wordlist) { @@ -113,6 +116,7 @@ function lpad(str, padString, length) { } module.exports = { + mnemonicToSeed: mnemonicToSeed, mnemonicToSeedHex: mnemonicToSeedHex, mnemonicToEntropy: mnemonicToEntropy, entropyToMnemonic: entropyToMnemonic, diff --git a/package.json b/package.json index 38c9ebd..d733547 100644 --- a/package.json +++ b/package.json @@ -21,8 +21,8 @@ }, "license": "ISC", "dependencies": { - "crypto-js": "^3.1.2-2", - "sinon": "^1.10.3" + "sinon": "^1.10.3", + "pbkdf2-compat": "^1.0.1" }, "devDependencies": { "browserify": "^5.9.1",