diff --git a/es/utils/keystore.js b/es/utils/keystore.js index 1069aceb84..9bd506d10f 100644 --- a/es/utils/keystore.js +++ b/es/utils/keystore.js @@ -4,6 +4,8 @@ import uuid from 'uuid' import { encodeBase58Check, isBase64 } from './crypto' import { isHex } from './string' +const _sodium = require('libsodium-wrappers-sumo') + /** * KeyStore module * !!!Work only in node.js!!! @@ -31,30 +33,23 @@ const DERIVED_KEY_FUNCTIONS = { } export async function deriveKeyUsingArgon2id (password, salt, options) { - const { memlimit_kib: memoryCost, parallelism, opslimit: timeCost } = options.kdf_params - const isBrowser = !(typeof module !== 'undefined' && module.exports) - - if (isBrowser) { - const _sodium = require('libsodium-wrappers-sumo') - - return _sodium.ready.then(async () => { - // tslint:disable-next-line:typedef - const sodium = _sodium - - const result = sodium.crypto_pwhash( - 32, - password, - salt, - timeCost, - memoryCost * 1024, - sodium.crypto_pwhash_ALG_ARGON2ID13 - ) - return Buffer.from(result) - }) - } else { - const argon2 = require('argon2') - return argon2.hash(password, { timeCost, memoryCost, parallelism, type: argon2.argon2id, raw: true, salt }) - } + const { memlimit_kib: memoryCost, opslimit: timeCost } = options.kdf_params + // const isBrowser = !(typeof module !== 'undefined' && module.exports) + + return _sodium.ready.then(async () => { + // tslint:disable-next-line:typedef + const sodium = _sodium + + const result = sodium.crypto_pwhash( + 32, + password, + salt, + timeCost, + memoryCost * 1024, + sodium.crypto_pwhash_ALG_ARGON2ID13 + ) + return Buffer.from(result) + }) } // CRYPTO PART diff --git a/package.json b/package.json index ff370174b3..084c2cfae9 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,6 @@ "@stamp/it": "^1.0.3", "@stamp/required": "^1.0.1", "aes-js": "^3.1.1", - "argon2": "^0.24.0", "axios": "^0.19.0", "bignumber.js": "^9.0.0", "bip32-path": "^0.4.2",