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

Node.js의 crypto.privateEncrypt() 메서드

<시간/>

crypto.privateEncrypt()는 함수에 전달된 주어진 개인 키 매개변수를 사용하여 주어진 데이터 내용을 암호화하는 데 사용됩니다.

구문

crypto.privateEncrypt(privateKey, 버퍼)

매개변수

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

  • 개인 키 – Object, String, Buffer 또는 KeyObject와 같은 데이터 유형을 포함할 수 있습니다.

    • – 이 키는 'PEM'으로 인코딩된 개인 키입니다. 키는 문자열, 버퍼 또는 KeyObject 유형일 수 있습니다.

    • 암호 – 개인 키에 대한 선택적 암호 구문 값입니다.

    • 패딩 – 이는 crypto.constants에 정의된 선택적 값입니다.

  • 버퍼 – 이 필드에는 해독할 데이터 내용이 포함됩니다. 가능한 버퍼 유형은 string, TypedArray, Buffer, ArrayBuffer, DataView입니다.

예시

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

노드 privateEncrypt.js

privateEncrypt.js

// crypto.privateEncrypt() 메서드의 흐름을 보여주는 Node.js 프로그램// 암호화 및 fs 가져오기 moduleconst crypto =require('crypto');const fs =require("fs");// 키 생성 generateKeyPairSync() methodfunction을 사용하여 파일 생성 , 형식:'pem', 암호:'aes-256-cbc', 암호:'' } }); // 다음 파일에 키 쓰기 fs.writeFileSync("private_key", keyPair.privateKey);}// 생성 키 호출 methodgenerateKeyFiles();// 전달된 문자열 암호화 encryptString (plaintext, publicKeyFile) { const publicKey =fs. readFileSync(공개키파일, "utf8"); // privateEncrypt() 메서드와 공개 키를 사용하여 데이터 암호화 const encrypted =crypto.privateEncrypt( publicKey, Buffer.from(plaintext)); return encryption.toString("base64");}// 다음 데이터는 암호화되고 해독됩니다.const plainText ="TutorialsPoint!";// 아래 메서드를 호출하여 string을 암호화합니다. / 일반 textconsole.log("Plaintext:", plainText) 인쇄;// 암호화된 textconsole.log("Encrypted Text:", encrypted);console.log();
인쇄

출력

C:\home\node>> 노드 privateEncrypt.jsPlaintext:TutorialsPoint!암호화된 텍스트:AhphoL+l/e739LkdfCAm2XuiddgTG7jjdGlLviiRqD4LyTtxJmpkgq5bSkyI7Og4XlBtszBB9HLQRHT5 

예시

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

// crypto.privateEncrypt() 메서드의 흐름을 보여주는 Node.js 프로그램// 암호화 및 fs 가져오기 moduleconst crypto =require('crypto');const fs =require("fs");// 키 생성 generateKeyPairSync() methodfunction을 사용하여 파일 생성 , 형식:'pem', 암호:'aes-256-cbc', 암호:'' } }); // 다음 파일에 키 쓰기 fs.writeFileSync("private_key", keyPair.privateKey);}// 생성 키 호출 methodgenerateKeyFiles();// 전달된 문자열 암호화 encryptString (plaintext, publicKeyFile) { const publicKey =fs. readFileSync(공개키파일, "utf8"); // privateEncrypt() 메서드와 공개 키를 사용하여 데이터 암호화 const encrypted =crypto.privateEncrypt( publicKey, Buffer.from(plaintext)); return encryption;}// 다음 데이터는 암호화되고 해독됩니다.const plainText ="TutorialsPoint!";// 아래 메서드를 호출하여 stringconst 암호화를 암호화합니다. ("Plaintext:", plainText);// 암호화된 textconsole.log("Encrypted Buffer:", encrypted);console.log();
인쇄

출력

C:\home\node>> 노드 privateEncrypt.jsPlaintext:TutorialsPoint!Encrypted 버퍼: