Computer >> Máy Tính >  >> Lập trình >> Javascript

Phương thức decipher.update () trong Node.js

Decipher.update () được sử dụng để cập nhật bộ giải mã với dữ liệu phải thu theo định dạng mã hóa đã cho. Nó là một trong những phương thức có sẵn được cung cấp bởi Class Decipher trong mô-đun tiền điện tử. Nếu một mã hóa đầu vào được chỉ định, đối số dữ liệu là một chuỗi, nếu không đối số dữ liệu là một bộ đệm

Cú pháp

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

Tham số

Các thông số trên được mô tả như bên dưới -

  • dữ liệu - Nó lấy dữ liệu làm đầu vào để cập nhật nội dung bộ giải mã.

  • inputEncoding - Nó nhận mã hóa đầu vào làm tham số. Các giá trị đầu vào có thể có là hex, base64, v.v.

  • outputEncoding - Nó lấy mã hóa đầu ra làm tham số. Loại đầu vào cho tham số này là chuỗi. Các giá trị đầu vào có thể có là hex, base64, v.v.

Ví dụ

Tạo một tệp có tên - decipherUpdate.js và sao chép đoạn mã bên dưới. Sau khi tạo tệp, sử dụng lệnh sau để chạy mã này như được hiển thị trong ví dụ bên dưới -

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)

Đầu ra

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

Ví dụ

Hãy xem thêm một ví dụ.

// 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);
});

Đầu ra

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