* @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, callback)
| 60 | * @param {Function} callback |
| 61 | */ |
| 62 | function argon2(algorithm, parameters, callback) { |
| 63 | parameters = check(algorithm, parameters); |
| 64 | |
| 65 | validateFunction(callback, 'callback'); |
| 66 | |
| 67 | const job = new Argon2Job( |
| 68 | kCryptoJobAsync, |
| 69 | parameters.message, |
| 70 | parameters.nonce, |
| 71 | parameters.parallelism, |
| 72 | parameters.tagLength, |
| 73 | parameters.memory, |
| 74 | parameters.passes, |
| 75 | parameters.secret, |
| 76 | parameters.associatedData, |
| 77 | parameters.type); |
| 78 | |
| 79 | job.ondone = (error, result) => { |
| 80 | if (error !== undefined) |
| 81 | return FunctionPrototypeCall(callback, job, error); |
| 82 | const buf = Buffer.from(result); |
| 83 | return FunctionPrototypeCall(callback, job, null, buf); |
| 84 | }; |
| 85 | |
| 86 | job.run(); |
| 87 | } |
| 88 | |
| 89 | /** |
| 90 | * @param {'argon2d' | 'argon2i' | 'argon2id'} algorithm |
no test coverage detected
searching dependent graphs…