Rumah  >  Artikel  >  hujung hadapan web  >  kaedah decipher.update() dalam Node.js

kaedah decipher.update() dalam Node.js

PHPz
PHPzke hadapan
2023-08-25 08:13:161074semak imbas

Node.js 中的 decipher.update() 方法

decipher.update() digunakan untuk mengemas kini penyahsulitan dengan data yang diterima mengikut format pengekodan yang diberikan. Ia adalah salah satu kaedah terbina dalam yang disediakan oleh kelas Decipher dalam modul crypto. Jika pengekodan input ditentukan, parameter data ialah rentetan, jika tidak, parameter data ialah penimbal

Sintaks

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

Parameter

Parameter di atas diterangkan di bawah -

  • data memerlukan data

    untuk mengemas kini input kandungan yang disulitkan.
  • inputEncoding

    - Ia memerlukan pengekodan input sebagai parameter. Nilai input yang mungkin adalah perenambelasan, asas64, dsb.
  • outputEncoding

    – Ia mengambil pengekodan output sebagai parameter. Jenis input parameter ini ialah rentetan. Nilai input yang mungkin adalah perenambelasan, asas64, dsb.

Contoh

Buat fail bernama decipherUpdate.js dan salin coretan kod berikut. Selepas mencipta fail, jalankan kod ini menggunakan arahan berikut seperti yang ditunjukkan dalam contoh di bawah -

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:\homeode>> node decipherUpdate.js
Decrypted value -- Some new text data

Contoh

Mari kita lihat satu lagi contoh.

// 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:\homeode>> node decipherUpdate.js
Decrypted value:- Some new text data
🎜

Atas ialah kandungan terperinci kaedah decipher.update() dalam Node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam