decipher.update() Method in Node.js


The decipher.update() is used to update the decipher with the receivd data according to the given encoding format. It is one of the inbuilt method that is provided by the class Decipher within the crypto module. If an input encoding is specified, the data argument is a string, else the data argument is a buffer

Syntax

decipher.update(data, [inputEncoding], [outputEncoding])

Parameters

The above parameters are described as below −

  • data – It takes the data as an input that is passed to update the decipher content.

  • inputEncoding – It takes the input encoding as a parameter. Possible input values are hex, base64, etc.

  • outputEncoding – It takes the output encoding as a parameter. The input type for this parameter is string. Possible input values are hex, base64, etc.

Example

Create a file with name – decipherUpdate.js and copy the below code snippet. After creating file, use the following command to run this code as shown in the example below −

node decipherUpdate.js

decipherUpdate.js

// Example to demonstrate the use of decipher.final() method

// Importing the crypto module
const crypto = require('crypto');

// Initialising the AES algorithm
const algorithm = 'aes-192-cbc';
// Initialising the password used for generating key
const password = '12345678123456789';

// Retrieving key for the decipher object
const key = crypto.scryptSync(password, 'old data', 24);

// Initializing the static iv
const iv = Buffer.alloc(16, 0);

const decipher = crypto.createDecipheriv(algorithm, key, iv);

// Initializing the decipher object to get decipher
const encrypted = '083bfe1b2f91677e5d00add115be2f1b2e362e190406f5c6b60e86969bf03bff';
// const encrypted2 = '8d11772fce59f08e7558db5bf17b3112';

let decryptedValue = decipher.update(encrypted, 'hex', 'utf8');
// let decryptedValue1 = decipher.update(encrypted1, 'hex', 'utf8');

decryptedValue += decipher.final('utf8');

// Printing the result...
console.log("Decrypted value -- " + decryptedValue);
// console.log("Base64 String:- " + base64Value)

Output

C:\home
ode>> node decipherUpdate.js Decrypted value -- Some new text data

Example

Let's take a look at one more example.

// Example to demonstrate the use of decipher.final() method

// Importing the crypto module
const crypto = require('crypto');

// Initialising the AES algorithm
const algorithm = 'aes-192-cbc';
// Initialising the password used for generating key
const password = '12345678123456789';

// Retrieving key for the decipher object
crypto.scrypt(password, 'salt', 24,
   { N: 512 }, (err, key) => {
      if (err) throw err;

   // Initializing the static iv
   const iv = Buffer.alloc(16, 0);

   // Initializing the decipher with algo, key and iv
   const decipher = crypto.createDecipheriv(algorithm, key, iv);
   const encrypted = '91d6d37e70fbae537715f0a921d15152194435b96ce3973d92fbbc4a82071074';

   //Getting the decrypted string value
   const decrypted = decipher.update(encrypted, 'hex', 'utf8');

   // Printing the result...
   console.log("Decrypted value:- " + decrypted);
});

Output

C:\home
ode>> node decipherUpdate.js Decrypted value:- Some new text data

Updated on: 20-May-2021

256 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements