Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

เมธอด crypto.createECDH() ใน Node.js

เมธอด crypto.createECDH() ใช้สำหรับสร้างคอนกรวยแบบไขว้ (Elliptic Curve) ซึ่งรู้จักกันในชื่อ Elliptic Curve Diffie-Hellman (ECDH) โดยใช้คอนกรวยที่กำหนดไว้ล่วงหน้าตามพารามิเตอร์ curveName สามารถใช้ crypto.getCurves() เพื่อดูรายชื่อคอนกรวยทั้งหมดที่ใช้ได้ เมธอดนี้เป็นส่วนหนึ่งของโมดูล 'crypto'

ไวยากรณ์

crypto.createECDH(curveName)

พารามิเตอร์

พารามิเตอร์ข้างต้นอธิบายดังนี้:

  • curveName – รับชื่อคอนกรวย (curve name) ชื่อนี้จะกำหนดคอนกรวยที่กำหนดไว้ล่วงหน้าสำหรับการสร้าง ECDH

ตัวอย่าง

สร้างไฟล์ชื่อ createECDH.js และคัดลอกโค้ดด้านล่าง หลังจากสร้างไฟล์แล้ว ใช้คำสั่งต่อไปนี้เพื่อรันโค้ด:

node createECDH.js

createECDH.js

// โปรแกรม Node.js สาธิตการสร้าง ECDH
// นำเข้าโมดูล crypto
const crypto = require('crypto');

// เรียกใช้เมธอด getCiphers() - ตัวอย่างนี้ใช้ createECDH
const curve = crypto.createECDH('secp521r1');
// แสดงกุญแจคอนกรวย
console.log(curve.generateKeys());

ผลลัพธ์

C:\home\node>> node createECDH.js
<Buffer 04 00 be c4 3b eb cc ea 33 84 31 b0 7d 8b 9f e6 5b e0 6e 3a 40 21 49 f0 20 9f 92 33 cf 32 d7 a7 f1 df 90 82 9b fe 8f 7b 98 5b 7d 1a ee c6 ae b1 bd 1a ... >

ตัวอย่างเพิ่มเติม

ลองดูตัวอย่างอีกหนึ่งกรณี:

// โปรแกรม Node.js สาธิตการสร้าง ECDH
// นำเข้าโมดูล crypto
const crypto = require('crypto');

// เรียกใช้เมธอด getCiphers() - ตัวอย่างนี้ใช้ createECDH
const curve = crypto.createECDH('secp521r1');
curve.generateKeys();
// แสดงกุญแจสาธารณะและส่วนตัวของคอนกรวย
console.log("Public Key: ", curve.getPublicKey());
console.log("Private Key: ", curve.getPrivateKey());

ผลลัพธ์

C:\home\node>> node cipherUpdate.js
Public Key: <Buffer 04 01 10 f7 fb d9 d7 f9 70 ba 6e 59 42 77 b6 1b 28 21 f1 3f ac 43 28 72 c6 33 b5 89 d3 77 6e 5a ea 8a 8a a1 27 a7 ab f1 b1 ea 41 ac dc c5 09 83 01 48 ... >
Private Key: <Buffer 01 d8 c4 d9 df 5c c8 54 e2 1f 82 94 ba 9c cd bc 88 3a e5 88 aa bd c8 2b 5c e9 f4 59 81 0b ae 18 f4 bf 21 43 56 74 55 d8 1d e6 b8 5f d8 e7 e2 52 ad 03 ... >