* @param {'argon2d' | 'argon2i' | 'argon2id'} algorithm * @param {object} parameters * @param {ArrayBufferLike} parameters.message * @param {ArrayBufferLike} parameters.nonce * @param {number} parameters.parallelism * @param {number} parameters.tagLength * @param {number} parameters.memory *
(algorithm, parameters)
| 100 | * @returns {Buffer} |
| 101 | */ |
| 102 | function argon2Sync(algorithm, parameters) { |
| 103 | parameters = check(algorithm, parameters); |
| 104 | |
| 105 | const job = new Argon2Job( |
| 106 | kCryptoJobSync, |
| 107 | parameters.message, |
| 108 | parameters.nonce, |
| 109 | parameters.parallelism, |
| 110 | parameters.tagLength, |
| 111 | parameters.memory, |
| 112 | parameters.passes, |
| 113 | parameters.secret, |
| 114 | parameters.associatedData, |
| 115 | parameters.type); |
| 116 | |
| 117 | const { 0: err, 1: result } = job.run(); |
| 118 | |
| 119 | if (err !== undefined) |
| 120 | throw err; |
| 121 | |
| 122 | return Buffer.from(result); |
| 123 | } |
| 124 | |
| 125 | /** |
| 126 | * @param {'argon2d' | 'argon2i' | 'argon2id'} algorithm |
no test coverage detected