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

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

เมธอด crypto.createSign() จะสร้างและคืนค่าออบเจ็กต์ sign ที่ใช้อัลกอริทึมที่ส่งผ่านพารามิเตอร์ สามารถใช้ crypto.getHashes() เพื่อดูชื่ออัลกอริทึมด이제สต์ (digest algorithms) ทั้งหมดที่รองรับ สามารถสร้างอินสแตนซ์ Sign ได้โดยใช้ชื่ออัลกอริทึมลายเซ็น เช่น 'RSA-SHA256' ในบางกรณี แทนที่จะใช้อัลกอริทึมด이제สต์

ไวยากรณ์

crypto.createSign(algorithm, [options])

พารามิเตอร์

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

  • algorithm – รับชื่ออัลกอริทึมที่จะใช้ในการสร้างออบเจ็กต์/อินสแตนซ์ sign

  • options – พารามิเตอร์ตัวเลือกที่ใช้ควบคุมพฤติกรรมสตรีม (stream behavior)

ตัวอย่าง

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

node createSign.js

createSign.js

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

// สร้างออบเจ็กต์ sign ด้วยอัลกอริทึมที่ระบุ
const sign = crypto.createSign('SHA256');

// คืนค่าออบเจ็กต์ sign
console.log(sign);

ผลลัพธ์

C:\home\node>> node createSign.js
Sign {
    _handle: {},
    _writableState: WritableState {
        objectMode: false,
        highWaterMark: 16384,
        finalCalled: false,
        needDrain: false,
        ending: false,
        ended: false,
        finished: false,
        destroyed: false,
        decodeStrings: true,
        defaultEncoding: 'utf8',
        length: 0,
        writing: false,
        corked: 0,
        sync: true,
        bufferProcessing: false,
        onwrite: [Function: bound onwrite],
        writecb: null,
        writelen: 0,
        bufferedRequest: null,
        lastBufferedRequest: null,
        pendingcb: 0,
        prefinished: false,
        errorEmitted: false,
        emitClose: true,
        autoDestroy: false,
        bufferedRequestCount: 0,
        corkedRequestsFree: {
            next: null,
            entry: null,
            finish: [Function: bound onCorkedFinish]
        }
    },
    writable: true,
    _events: [Object: null prototype] {},
    _eventsCount: 0,
    _maxListeners: undefined
}

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

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

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

// สร้างออบเจ็กต์ sign ด้วยอัลกอริทึม SHA256
const sign = crypto.createSign('SHA256');

// แสดงผลลัพธ์การเขียนข้อมูล
console.log(sign.write('Welcome to Tutorials Point'));

ผลลัพธ์

C:\home\node>> node createSign.js
true