কম্পিউটার টিউটোরিয়াল

Node.js-এ crypto.randomFill() মেথড

crypto.randomFill() মেথড এবং crypto.randomBytes() মেথড প্রায় একই। একমাত্র পার্থক্য হলো – randomFill() মেথডে প্রথম আর্গুমেন্টটি একটি বাফার যা পূরণ করা হবে। এছাড়া এর একটি কলব্যাক মেথড থাকে যা শুধু তখন কল হয় যখন এরর ঘটে এবং কলব্যাক কনফিগার করা থাকে।

সিনট্যাক্স

crypto.randomFill(buffer, [offset], [size], [callback])

প্যারামিটারসমূহ

  • buffer – এই ফিল্ডে ডেটা কন্টেন্ট থাকে। সম্ভাব্য বাফার টাইপ: string, TypedArray, Buffer, ArrayBuffer, DataView। বাফারের সাইজ 2**31-1-এর চেয়ে বড় হতে পারবে না।

  • offset – যে অফসেট থেকে randomFill শুরু হবে। ডিফল্ট ভ্যালু: 0।

  • size – অফসেটের পর বাফারের সাইজ। অর্থাৎ (buffer.length - offset)। এই ভ্যালু 2**31-1-এর চেয়ে বড় হতে পারবে না।

  • callback – এরর থ্রো হলে কল হওয়া ফাংশন।

উদাহরণ ১

randomFill.js নামে একটি ফাইল তৈরি করুন এবং নিচের কোড স্নিপেটটি কপি করুন। ফাইল তৈরি করার পর নিচের কমান্ড দিয়ে কোডটি রান করুন:

node randomFill.js

randomFill.js

// Node.js প্রোগ্রাম crypto.randomFill() মেথডের ফ্লো দেখানোর জন্য
// crypto মডিউল ইম্পোর্ট করুন
const crypto = require('crypto');
const fs = require("fs");

// বাফার বাইট ভ্যালু ইনিশিয়ালাইজ করুন
const buf = Buffer.alloc(6);

// বাফার এবং একটি কলব্যাক সহ randomFill মেথড কল করুন
crypto.randomFill(buf, (err, buf) => {
    if (err) throw err;
    // পূরণের পর বাফার ডেটা ভ্যালু প্রিন্ট করুন
    console.log(buf.toString('ascii'));
});

// উপরে সংজ্ঞায়িত সব প্যারামিটার দিয়ে randomFill কল করুন
crypto.randomFill(buf, 3, 2, (err, buf) => {
    if (err) throw err;
    // বাফারে নতুন র‍্যান্ডম ডেটা প্রিন্ট করুন
    console.log(buf.toString('base64'));
});

// নিচের ফাংশনের আউটপুট একই হবে
crypto.randomFill(buf, 3, 3, (err, buf) => {
    if (err) throw err;
    console.log(buf.toString('base64'));
});

আউটপুট

C:\home\node>> node randomFill.js
f!]"+– ZqHdoit8 ZqHdoit8

উদাহরণ ২

আরেকটি উদাহরণ দেখি।

// Node.js প্রোগ্রাম crypto.randomFill() মেথডের ফ্লো দেখানোর জন্য
// crypto মডিউল ইম্পোর্ট করুন
const crypto = require('crypto');
const fs = require("fs");

// ডেটা ভিউ ব্যবহার করে বাফার বাইট ভ্যালু ইনিশিয়ালাইজ করুন
const data = new DataView(new ArrayBuffer(16));

// বাফার এবং একটি কলব্যাক সহ randomFill মেথড কল করুন
crypto.randomFill(data, (err, buf) => {
    if (err) throw err;
    // এনকোডিং সহ randomFill ডেটা প্রিন্ট করুন
    console.log(Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength).toString('ascii'));
});

আউটপুট

C:\home\node>> node randomFill.js
>h(Be#D8h0
  1. Node.js-এ crypto.publicDecrypt() মেথড

  2. Node.js-এ crypto.privateEncrypt() মেথড

  3. Node.js-এ crypto.privateDecrypt() মেথড

  4. Node.js-এ crypto.getHashes() মেথড