Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

Node.js의 cipher.update() 메서드

<시간/>

cipher.update()는 주어진 인코딩 형식에 따라 수신 데이터로 암호를 업데이트하는 데 사용됩니다. 암호화 모듈 내에서 Cipher 클래스가 제공하는 내장 메소드 중 하나입니다. 입력 인코딩이 지정되면 데이터 인수는 문자열이고, 그렇지 않으면 데이터 인수는 버퍼입니다.

구문

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

매개변수

위의 매개변수는 다음과 같이 설명됩니다 -

  • 데이터 – 암호 내용을 업데이트하기 위해 전달되는 입력으로 데이터를 취합니다.

  • inputEncoding – 입력 인코딩을 매개변수로 사용합니다. 가능한 입력 값은 16진수, base64 등입니다.

  • 출력인코딩 – 출력 인코딩을 매개변수로 사용합니다. 이 매개변수의 입력 유형은 문자열입니다. 가능한 입력 값은 16진수, base64 등입니다.

예시

이름이 cipherUpdate.js인 파일을 만들고 아래 코드 조각을 복사합니다. 파일을 생성한 후 다음 명령을 사용하여 아래 예와 같이 이 코드를 실행하십시오 -

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

출력

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

예시

예를 하나 더 살펴보겠습니다.

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

출력

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