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