crypto.randomBytes() สร้างข้อมูลสุ่มหลอกที่แข็งแกร่งทาง cyprtographically วิธีการนี้จะไม่สมบูรณ์จนกว่าจะมีการสร้างเอนโทรปีเพียงพอในไบต์ที่สร้าง แต่หลังจากนี้จะใช้เวลาไม่เกินสองสามมิลลิวินาที วิธีนี้โดยทั่วไปจะสร้างไบต์สุ่มสองสามตัวที่จะใช้ต่อไป
ไวยากรณ์
crypto.randomBytes(ขนาด [โทรกลับ])
พารามิเตอร์
พารามิเตอร์ข้างต้นอธิบายไว้ด้านล่าง −
-
ขนาด – อาร์กิวเมนต์นี้กำหนดจำนวนไบต์ที่จะสร้าง ขนาดต้องไม่เกิน 2**31 – 1
-
โทรกลับ – การโทรกลับจะถูกเรียกหากมีข้อผิดพลาดเกิดขึ้นในวิธีการ
ตัวอย่าง
สร้างไฟล์ที่มีชื่อ – randomBytes.js และคัดลอกข้อมูลโค้ดด้านล่าง หลังจากสร้างไฟล์แล้ว ให้ใช้คำสั่งต่อไปนี้เพื่อเรียกใช้โค้ดนี้ดังแสดงในตัวอย่างด้านล่าง −
โหนด randomBytes.js
randomBytes.js
// crypto.randomBytes() ตัวอย่างการสาธิตแบบอะซิงโครนัส // การนำเข้าโมดูลการเข้ารหัสลับ crypto =require('crypto');crypto.randomBytes(64, (err, buf) => { if (err) throw err; console .log(`${buf.length} ไบต์ของข้อมูลสุ่ม:${buf.toString('hex')}`);});
ผลลัพธ์
C:\home\node>> โหนด randomBytes.js64 ไบต์ของข้อมูลสุ่ม:eb2bcebb999407286caea729998e7fa0c089178f8ca43857e73ea3ff66dbe1852af24a4b0199be9192798a3f8ad6d6475db3621cfacf538dcpredตัวอย่าง
ลองดูอีกตัวอย่างหนึ่ง
// crypto.randomBytes() ตัวอย่างการสาธิตแบบซิงโครนัส // การนำเข้า crypto moduleconst crypto =require('crypto');const buffer =crypto.randomBytes(256);console.log( `${buffer.length} ไบต์ ของข้อมูลสุ่ม:${buffer.toString('base64')}`);ผลลัพธ์
C:\ บ้าน \ โหนด>> โหนด randomBytes.js256 ไบต์ของข้อมูลแบบสุ่ม:n7yfRMo / ujHfBWSF2VFdevG4WRbBoG9Fqwu51 + / 9ZBUV6Qo88YG7IbcEaIer + g + OgjMv4RyNQ6 / 67aF5xWmkOR3oA6J6bdAJ1pbstTuhIfItF1PQfP26YXk1QlaoKy / YJxPUngyK4kNG9O04aret4D + + 2qIq9BUaQcv R9Xi014VKNUDZ + + YQKEaLHBhJMq6JgehJ56iNbdNJ4 PN7SQwjNdZ8gS76izAwYsSZ7Kuyx2VzdXIKsLmjleuJ2DZ7 / 6Yyn8WM9463dhuh0KQ5nwFbgzucvjmdvDjBlGFZBGlKs6AXqYh + + 0Oe6Ckkv3OpnXOJs GExbmnvjaeDQ03khpdJfA ==