Decipher.final () được sử dụng để trả về một bộ đệm hoặc chuỗi chứa giá trị của đối tượng decipher. 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ử. Không thể sử dụng phương thức giải mã để giải mã dữ liệu khi phương thức decipher.final đã được gọi. Gọi phương thức cipher.final nhiều lần sẽ gây ra lỗi.
Cú pháp
decipher.final([outputEncoding])
Tham số
Các thông số trên được mô tả như bên dưới -
-
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 - decipherFinal.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 decipherFinal.js
decipherFinal.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 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 cipher object to get cipher const encrypted1 = 'a05e87569f3f04234812ae997da5684944c32b8776fae676b4abe9074b31cd2a'; // const encrypted2 = '8d11772fce59f08e7558db5bf17b3112'; let decryptedValue1 = decipher.update(encrypted1, 'hex', 'utf8'); // let decryptedValue1 = decipher.update(encrypted1, 'hex', 'utf8'); decryptedValue1 += decipher.final('utf8'); // Printing the result... console.log("Decrypted value -- " + decryptedValue1); // console.log("Base64 String:- " + base64Value)
Đầu ra
C:\home\node>> node decipherFinal.js Decrypted value -- Welcome to tutorials point
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 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 cipher object to get cipher const encrypted = 'a05e87569f3f04234812ae997da5684944c32b8776fae676b4abe9074b31cd2a'; // const encrypted2 = '8d11772fce59f08e7558db5bf17b3112'; var buf = []; // Updating the decopher data let decrypted = decipher.update(encrypted, 'hex', 'utf8'); // Pushinf the data into buffer after decryption buf.push(decrypted); buf.push(decipher.final('utf8')); // Printing the result console.log(buf.join(' '));
Đầu ra
C:\home\node>> node decipherFinal.js Welcome to tutor ials point