mirror of
https://github.com/BlueWallet/BlueWallet.git
synced 2025-02-24 15:36:59 +01:00
26 lines
576 B
JavaScript
26 lines
576 B
JavaScript
let pbkdf2 = require('pbkdf2')
|
|
const {
|
|
checkAndInit,
|
|
smix
|
|
} = require('./utils')
|
|
|
|
// N = Cpu cost, r = Memory cost, p = parallelization cost
|
|
async function scrypt (key, salt, N, r, p, dkLen, progressCallback, promiseInterval) {
|
|
const {
|
|
XY,
|
|
V,
|
|
B32,
|
|
x,
|
|
_X,
|
|
B,
|
|
tickCallback
|
|
} = checkAndInit(key, salt, N, r, p, dkLen, progressCallback)
|
|
|
|
for (var i = 0; i < p; i++) {
|
|
await smix(B, i * 128 * r, r, N, V, XY, _X, B32, x, tickCallback, promiseInterval)
|
|
}
|
|
|
|
return pbkdf2.pbkdf2Sync(key, B, 1, dkLen, 'sha256')
|
|
}
|
|
|
|
module.exports = scrypt
|