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

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

Cipher.update () được sử dụng để cập nhật mật 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 Cipher 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

cipher.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 mật 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 - cipherUpdate.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 cipherUpdate.js

cipherUpdate.js

// Example to demonstrate the use of cipher.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 cipher object
const key = crypto.scryptSync(password, 'old data', 24);

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

// Initializing the cipher object to get cipher
const cipher = crypto.createCipheriv(algorithm, key, iv);

//Getting the updated string value with new data
let updatedValue = cipher.update('Welcome to tutorials point', 'utf8', 'hex');

//Adding the old value and updated value
updatedValue += cipher.final('hex');

// Printing the result...
console.log("Updated String:- " + updatedValue);

Đầu ra

C:\home\node>> node cipherUpdate.js
Updated String:-
a05e87569f3f04234812ae997da5684944c32b8776fae676b4abe9074b31cd2a

Ví dụ

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

// Example to demonstrate the use of cipher.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 cipher 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 cipher object to get cipher
   const cipher = crypto.createCipheriv(algorithm, key, iv);

   //Getting the updated string value with new data
   let updatedValue = cipher.update('Some new text data', 'utf8', 'hex');
   //Adding the old value and updated value
   updatedValue += cipher.final('hex');

   // Printing the result...
   console.log("Updated String:- " + updatedValue);
});

Đầu ra

C:\home\node>> node cipherUpdate.js
Updated String:-
91d6d37e70fbae537715f0a921d15152194435b96ce3973d92fbbc4a82071074