From be2c605e5b5bc3023ba060cb2ce46a84cd4ba210 Mon Sep 17 00:00:00 2001 From: Mahrud Sayrafi Date: Mon, 29 Jan 2018 12:14:02 -0800 Subject: [PATCH] Improves secret key encryption/decryption performance by 35% --- src/type/s2k.js | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/type/s2k.js b/src/type/s2k.js index 6667cefa..8cc1c75a 100644 --- a/src/type/s2k.js +++ b/src/type/s2k.js @@ -156,15 +156,11 @@ S2K.prototype.produce_key = function (passphrase, numBytes) { util.concatUint8Array([prefix, s2k.salt, passphrase])); case 'iterated': - var isp = [], - count = s2k.get_count(), - data = util.concatUint8Array([s2k.salt,passphrase]); + var count = s2k.get_count(), + data = util.concatUint8Array([s2k.salt,passphrase]), + isp = new Array(Math.ceil(count / data.length)); - while (isp.length * data.length < count) { - isp.push(data); - } - - isp = util.concatUint8Array(isp); + isp = util.concatUint8Array(isp.fill(data)); if (isp.length > count) { isp = isp.subarray(0, count);