Node.js-এ crypto.randomFillSync() মেথডটি একটি বাফার আর্গুমেন্ট নেয় এবং সেটি এর এনক্রিপ্টেড ভ্যালু দিয়ে পূরণ করে রিটার্ন করে। নাম অনুযায়ী, এটি একটি সিঙ্ক প্রসেস।
সিনট্যাক্স
crypto.randomFillSync(buffer, [offset], [size])
প্যারামিটারসমূহ
buffer – এই ফিল্ডে ডেটা কন্টেন্ট থাকে। সম্ভাব্য বাফার টাইপ: string, TypedArray, Buffer, ArrayBuffer, DataView। বাফারের সাইজ 2**31-1-এর চেয়ে বড় হতে পারবে না।
offset – যে অফসেট থেকে randomFill শুরু হবে। ডিফল্ট ভ্যালু: 0।
size – অফসেটের পর বাফারের সাইজ, অর্থাৎ (buffer.length - offset)। এই ভ্যালু 2**31-1-এর চেয়ে বড় হতে পারবে না।
উদাহরণ ১
randomFillSync.js নামে একটি ফাইল তৈরি করুন এবং নিচের কোড স্নিপেটটি কপি করুন। ফাইল তৈরি করার পর নিচের কমান্ড দিয়ে কোডটি রান করুন:
node randomFillSync.js
randomFillSync.js
// crypto.randomFillSync() উদাহরণ ডেমো
// crypto মডিউল ইম্পোর্ট করুন
const crypto = require('crypto');
// বাফার দৈর্ঘ্য সংজ্ঞায়িত করুন
const buffer = Buffer.alloc(15);
// বাফার
console.log(crypto.randomFillSync(buffer).toString('base64'));
// বাফার এবং অফসেট
crypto.randomFillSync(buffer, 4);
console.log(buffer.toString('base64'));
// বাফার, অফসেট এবং সাইজ
crypto.randomFillSync(buffer, 4, 4);
console.log(buffer.toString('base64'));
আউটপুট
C:\home\node>> node randomFillSync.js wVBZ+i/nvmL3Ce4kBOl0 wVBZ+hkP5DB/4Ci8yTGs wVBZ+stVWJZ/4Ci8yTGs
উদাহরণ ২
আরেকটি উদাহরণ দেখি।
// crypto.randomFillSync() উদাহরণ ডেমো
// crypto মডিউল ইম্পোর্ট করুন
const crypto = require('crypto');
// TypedArray ইনস্ট্যান্স তৈরি করুন অর্থাৎ Int8Array
const data = new Int8Array(16);
// বাফার, অফসেট এবং সাইজ
console.log(Buffer.from(crypto.randomFillSync(data).buffer, data.byteOffset, data.byteLength).toString('base64'));
console.log();
// TypedArray ইনস্ট্যান্স তৈরি করুন অর্থাৎ BigInt64Array
const data2 = new BigInt64Array(4);
console.log(Buffer.from(crypto.randomFillSync(data2).buffer, data2.byteOffset, data2.byteLength).toString('ascii'));
console.log();
// DataView ইনস্ট্যান্স তৈরি করুন
const data3 = new DataView(new ArrayBuffer(7));
console.log(Buffer.from(crypto.randomFillSync(data3).buffer, data3.byteOffset, data3.byteLength).toString('hex'));
আউটপুট
C:\home\node>> node randomFillSync.js iNm8tiwDATcV6I8xjTSTbQ== ra+I=(6&Xse"hjw?!EO?D#S7M d957fb1dbdfa00