ভূমিকা
crypto.randomBytes() ক্রিপ্টোগ্রাফিক্যালি স্ট্রং সিউডো-র্যান্ডম ডেটা জেনারেট করে। এই মেথড যতক্ষণ না যথেষ্ট এনট্রপি বাইটে তৈরি হয়, ততক্ষণ কমপ্লিট হয় না। কিন্তু এতে কিছু মিলিসেকেন্ডের বেশি সময় লাগে না। মূলত এটি কিছু র্যান্ডম বাইট তৈরি করে যা পরবর্তীতে ব্যবহার করা হয়।
সিনট্যাক্স
crypto.randomBytes(size, [callback])
প্যারামিটার
size — জেনারেট হওয়া বাইটের সংখ্যা। সাইজ 2**31 - 1 থেকে বড় হতে পারবে না।
callback — মেথডে কোনো এরর হলে কলব্যাক কল হবে।
উদাহরণ ১ (অ্যাসিংক্রোনাস)
randomBytes.js ফাইল তৈরি করে node randomBytes.js রান করুন।
// crypto.randomBytes() Asynchronous demo example // Importing the crypto module const crypto = require('crypto'); crypto.randomBytes(64, (err, buf) => { if (err) throw err; console.log(`${buf.length} bytes of random data: ${buf.toString('hex')}`); });আউটপুট
C:\home\node>> node randomBytes.js 64 bytes of random data: eb2bcebb999407286caea729998e7fa0c089178f8ca43857e73ea3ff66dbe1852af24a4b0199be 9192798a3f8ad6d6475db3621cfacf38dcb0fba5d77d73aaf5
উদাহরণ ২ (সিনক্রোনাস)
// crypto.randomBytes() Synchronous demo example // Importing the crypto module const crypto = require('crypto'); const buffer = crypto.randomBytes(256); console.log( `${buffer.length} bytes of random data: ${buffer.toString('base64')}`);আউটপুট
C:\home\node>> node randomBytes.js 256 bytes of random data: n7yfRMo/ujHfBWSF2VFdevG4WRbBoG9Fqwu51+/9ZBUV6Qo88YG7IbcEaIer+g+OgjMv4RyNQ6/67a F5xWmkOR3oA6J6bdAJ1pbstTuhIfItF1PQfP26YXk1QlaoKy/YJxPUngyK4kNG9O04aret4D+2qIq9 BUaQcv+R9Xi014VKNUDZ+YQKEaLHBhJMq6JgehJ56iNbdNJ4+PN7SQwjNdZ8gS76izAwYsSZ7Kuyx2 VzdXIKsLmjleuJ2DZ7/6Yyn8WM9463dhuh0KQ5nwFbgzucvjmdvDjBlGFZBGlKs6AXqYh+0Oe6Ckkv 3OpnXOJs+GExbmnvjaeDQ03khpdJfA==