Node.js crypto.randomFill() Method Last Updated : 11 Oct, 2021 Comments Improve Suggest changes Like Article Like Report The crypto.randomFill() method is same as crypto.randomBytes() method but the only difference is that here the first argument is buffer that will be filled and it also has a callback function passed as an argument. However, if a callback function is not available then the error is thrown. Syntax: crypto.randomFill( buffer, offset, size, callback ) Parameters: This method accept four parameters as mentioned above and described below: buffer: This parameter holds Buffer, TypedArray, or DataView type of data. offset: It is a number whose default value is 0. size: It is a number whose default value is (buffer.length - offset). callback: It is a function with two parameters namely err and buf. Return Value: It returns buffer. Below examples illustrate the use of crypto.randomFill() method in Node.js: Example 1: javascript // Node.js program to demonstrate the // crypto.randomFill() method // Including crypto module const crypto = require('crypto'); // Defining buffer const buf = Buffer.alloc(6); // Calling randomFill method with two // of its parameters crypto.randomFill(buf, (err, buf) => { if (err) throw err; // Prints random data in buffer console.log(buf.toString('ascii')); }); // Calling randomFill method with all // its parameters crypto.randomFill(buf, 3, 2, (err, buf) => { if (err) throw err; // Prints random data in buffer console.log(buf.toString('base64')); }); // The output of this is same as above crypto.randomFill(buf, 3, 3, (err, buf) => { if (err) throw err; console.log(buf.toString('base64')); }); Output: &43Jho0s5v0 Jho0s5v0 Here, the last two values are same. Example 2: javascript // Node.js program to demonstrate the // crypto.randomFill() method // Including crypto module const crypto = require('crypto'); // Defining dataview const datv = new DataView(new ArrayBuffer(6)); // Calling randomFill method with DataView // instance as buffer crypto.randomFill(datv, (err, buf) => { if (err) throw err; // Prints random data which is encoded console.log(Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength) .toString('ascii')); }); Output: ceVMb Here, any TypedArray, or DataView instance is passed as buffer and in every run you will get different output. Reference: https://nodejs.org/api/crypto.html#crypto_crypto_randomfill_buffer_offset_size_callback Comment More infoAdvertise with us N nidhi1352singh Follow Improve Article Tags : Web Technologies Node.js Node.js-crypto-module Similar Reads Node.js cipher.final() Method The cipher.final() method in Node.js is used to signal to the cipher object that the encryption or decryption process is complete. This method must be called after all data has been passed to the cipher object using the cipher.update() method. The cipher.final() method returns the remaining encrypte 2 min read Node.js cipher.update() Method The cipher.update() method is an inbuilt application programming interface of class Cipher within crypto module which is used to update the cipher with data according to the given encoding format. Syntax: const cipher.update(data[, inputEncoding][, outputEncoding]) Parameters: This method takes the 2 min read Node.js crypto.getCiphers() Method The crypto.getCiphers() method returns an array the names of all the supported cipher algorithms. Syntax: crypto.getCiphers() Parameters: This method doesn't accepts any parameters. Return Value: It returns the names of all the supported cipher algorithms. Below example illustrate the use of crypto. 2 min read Node.js crypto.createECDH() Method The crypto.createECDH() method is an inbuilt application programming interface of crypto module which is used to create an Elliptic Curve Diffie-Hellman i.e, (ECDH) key exchange object with the help of a predefined curve which is defined by the curveName string. Moreover you can use crypto.getCurves 2 min read Node.js crypto.createDecipheriv() Method The crypto.createDecipheriv() method is an inbuilt application programming interface of crypto module which is used to create a Decipher object, with the stated algorithm, key and initialization vector i.e, (iv). Syntax: crypto.createDecipheriv( algorithm, key, iv, options ) Parameters: This method 3 min read Node crypto.createCipheriv() Method The crypto.createCipheriv() method is an inbuilt application programming interface of the crypto module which is used to create a Cipher object, with the stated algorithm, key, and initialization vector (iv).Syntax: crypto.createCipheriv( algorithm, key, iv, options )Parameters: This method accepts 2 min read Node.js crypto.getDiffieHellman() Method The crypto.getDiffieHellman() method is used to create a predefined DiffieHellmanGroup key exchange object. Here, the favored groups are 'modp1', 'modp2', 'modp5', which are defined in RFC 2412 and 'modp14', 'modp15', 'modp16', 'modp17', 'modp18', defined in RFC 3526. Syntax: crypto.getDiffieHellman 2 min read Node.js crypto.pbkdf2() Method The crypto.pbkdf2() method gives an asynchronous Password-Based Key Derivation Function 2 i.e. (PBKDF2) implementation. Moreover, a particular HMAC digest algorithm which is defined by digest is implemented to derive a key of the required byte length (keylen) from the stated password, salt, and iter 2 min read Node crypto.createHash() Method The crypto.createHash() method is used to create a Hash object that can be used to create hash digests by using the stated algorithm. Syntax:crypto.createHash( algorithm, options )Parameters: This method accepts two parameters as mentioned above and described below:algorithm: It is dependent on the 2 min read Node.js crypto.createHmac() Method The crypto.createHmac() method is used to create an Hmac object that uses the stated 'algorithm' and 'key'.Syntax:crypto.createHmac( algorithm, key, options )Parameters: This method accepts three parameters as mentioned above and described below:algorithm: It is dependent on the accessible algorithm 2 min read Like