Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

crypto.randomFillSync() วิธีการใน Node.js


crypto.randomFillSync() วิธีรับอาร์กิวเมนต์บัฟเฟอร์และส่งกลับบัฟเฟอร์โดยการเติมด้วยค่าที่เข้ารหัส ตามชื่อที่แนะนำ นี่จะเป็นกระบวนการซิงค์

ไวยากรณ์

crypto.randomFillSync(บัฟเฟอร์ [ออฟเซ็ต] [ขนาด])

พารามิเตอร์

พารามิเตอร์ข้างต้นอธิบายไว้ด้านล่าง −

  • บัฟเฟอร์ – ช่องนี้มีเนื้อหาข้อมูล ประเภทบัฟเฟอร์ที่เป็นไปได้คือ:string, TypedArray, Buffer, ArrayBuffer, DataView ขนาดของบัฟเฟอร์ต้องไม่เกิน 2**31-1

  • ออฟเซ็ต – ค่าออฟเซ็ตจากจุดเริ่มต้นของการเติมแบบสุ่ม ค่าเริ่มต้นคือ 0

  • ขนาด – ขนาดของบัฟเฟอร์หลังออฟเซ็ต เช่น (buffer.length-offset) ค่านี้ต้องไม่มากกว่า 2**31-1

ตัวอย่าง

สร้างไฟล์ที่มีชื่อ – randomFillSync.js และคัดลอกข้อมูลโค้ดด้านล่าง หลังจากสร้างไฟล์แล้ว ให้ใช้คำสั่งต่อไปนี้เพื่อเรียกใช้โค้ดนี้ดังแสดงในตัวอย่างด้านล่าง −

โหนด randomFillSync.js

randomFillSync.js

// crypto.randomFillSync() Example Demo// การนำเข้า crypto moduleconst crypto =require('crypto');// การกำหนดบัฟเฟอร์ lengthconst buffer =Buffer.alloc(15);// Bufferconsole.log(crypto.randomFillSync (buffer).toString('base64'));// Buffer and Offsetcrypto.randomFillSync(buffer, 4);console.log(buffer.toString('base64')); // Buffer, offset และ sizecrypto.randomFillSync(บัฟเฟอร์ , 4, 4);console.log(buffer.toString('base64'));

ผลลัพธ์

C:\home\node>> โหนด randomFillSync.jswVBZ+i/nvmL3Ce4kBOl0wVBZ+hkP5DB/4Ci8yTGswVBZ+stVWJZ/4Ci8yTGs

ตัวอย่าง

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

// crypto.randomFillSync() Example Demo// การนำเข้า crypto moduleconst crypto =require('crypto'); // การสร้างอินสแตนซ์ TypedArray เช่น ข้อมูล Int8Arrayconst =ใหม่ Int8Array(16); // บัฟเฟอร์ ออฟเซ็ต และ sizeconsole .log(Buffer.from(crypto.randomFillSync(data).buffer, data.byteOffset, data.byteLength).toString('base64'));console.log();// การสร้างอินสแตนซ์ TypedArray เช่น BigInt64Arrayconst data2 =ใหม่ BigInt64Array(4);console.log(Buffer.from(crypto.randomFillSync(data2).buffer, data2.byteOffset, data2.byteLength).toString('ascii'));console.log();// การสร้าง DataView instanceconst data3 =ใหม่ DataView(new ArrayBuffer(7));console.log(Buffer.from(crypto.randomFillSync(data3).buffer, data3.byteOffset, data3.byteLength).toString('hex')); 

ผลลัพธ์

C:\home\node>> โหนด randomFillSync.jsiNm8tiwDATcV6I8xjTSTbQ==ra+I=(6&Xse"�hjw?!EO?D#S7Md957fb1dbdfa00