এই password generator কীভাবে আলাদা?
এটি একটি privacy-first, browser-only password generator। প্রতিটি random byte আপনার অপারেটিং সিস্টেমের cryptographic random number generator থেকে crypto.getRandomValues-এর মাধ্যমে আসে — কখনো Math.random থেকে নয়। পেজটি password তৈরি করতে কোনো network request করে না, এবং তৈরি মান কখনো আপনার ট্যাব ছাড়ে না। DevTools-এ Network panel খুলুন এবং Generate ক্লিক করুন: এটি নীরব থাকে।
এই password generator কীভাবে কাজ করে?
টুলটি সম্পূর্ণ আপনার ব্রাউজারে JavaScript-এ চলে। কোনো server round-trip নেই, password বহনকারী কোনো analytics beacon নেই, পেজ লোডের পরে কোনো remote font request নেই।
- OS CSPRNG থেকে Seed। প্রতিটি random integer
crypto.getRandomValues(new Uint32Array(n))থেকে drawn — ব্রাউজার TLS key material ওcrypto.randomUUID-এর জন্য যে cryptographically-secure source ব্যবহার করে।Math.randomইচ্ছাকৃতভাবে কখনো call করা হয় না; একটি project-wide grep এটি enforce করে। - Charset assembly। Random-character মোড enabled character class — uppercase, lowercase, digit, symbol — একটি single alphabet-এ concatenate করে। 'Exclude ambiguous' toggle তখন দৃশ্যত সদৃশ glyph (
0,O,o,1,l,I,|, backtick) strip করে যাতে জোরে পড়া বা হাতে কপি করার সময় password অস্পষ্ট না হয়। - Unbiased index sampling। 32-bit unsigned integer-কে charset index-এ naively map করা (modulo) charset size 2^32 evenly ভাগ না করলে একটি ছোট bias introduce করে। টুলটি rejection sampling ব্যবহার করে: modulo tail-এ পড়া যেকোনো sample বাদ দেওয়া হয় এবং পুনরায় drawn হয়, তাই charset-এর প্রতিটি character সমান সম্ভাবনার।
- Bulk generation। Random-character মোডে আপনি একটি ক্লিকে ১ থেকে ৫০টি password request করতে পারেন। প্রতিটি ফলাফল নিজস্ব entropy estimate, strength bucket, এবং Copy বাটন সহ row হিসেবে render হয়। 'Copy all' বাটন নতুন লাইন দিয়ে row join করে যাতে CSV বা vault import ফাইলে পেস্ট করা যায়।
- Passphrase মোড। মোড toggle flip করুন এবং পেজটি প্রথম ব্যবহারে lazily EFF Short Wordlist #1 (1296 public-domain English word) fetch করে। পাঁচ-word passphrase প্রায় 51.7 bits entropy দেয় — everyday account-এর জন্য যথেষ্ট এবং 9-character random soup-এর চেয়ে অনেক বেশি memorable। সেই একটি same-origin fetch-এর পরে, পেজটি আবার নীরব।
এই password generator কেন ব্যবহার করবেন?
- আপনার password কখনো ব্রাউজার ছাড়ে না। কোনো server endpoint নেই, মান বহনকারী কোনো analytics call নেই, কোনো remote font নেই, কোনো telemetry নেই। DevTools খুলুন, password তৈরি করুন, এবং দেখুন Network panel খালি থাকে।
- গঠনগতভাবে cryptographically secure randomness। প্রতিটি integer
crypto.getRandomValuesথেকে আসে, modulo bias-এর বিরুদ্ধে rejection sampling সহ। ব্রাউজার password generator-এ সবচেয়ে সাধারণ bug — entropy-র জন্যMath.randomব্যবহার — এখানে structurally অসম্ভব। - দুটো মোড, একটি টুল। Random-character মোড password manager-এর জন্য high-entropy string তৈরি করে; passphrase মোড EFF Short Wordlist #1 দ্বারা backed human-memorable xkcd-style string (
correct-horse-battery-staple) তৈরি করে। উভয়েই একই privacy model। - স্বচ্ছ entropy। প্রতিটি generated row bits-এ entropy ও একটি স্পষ্ট strength label দেখায়, তাই একনজরে দেখা যায় ১২-character no-symbol string আসলেই ৫-word passphrase-এর মতো শক্তিশালী কিনা। কোনো marketing fluff নেই, শুধু সংখ্যা।
Generated password-এর সাধারণ প্রয়োগ কী?
যখনই একটি নতুন random secret প্রয়োজন, এই টুলটি trust surface ন্যূনতম করে:
- Password manager import। এক batch-এ ৫০টি strong password তৈরি করুন, Copy all ক্লিক করুন, vault-এর CSV import-এ পেস্ট করুন। মানগুলো কোনো server-এর মধ্য দিয়ে round-trip করেনি, তাই generation ও storage-এর মধ্যে কোনো leak window নেই।
- Master passphrase। Passphrase মোডে switch করুন, ৬ বা ৭টি word বেছে নিন, optionally প্রতিটি word বড় হাতে শুরু করুন, এবং আপনার কাছে একটি high-entropy string আছে যা লিখে না রেখেও মনে রাখতে পারবেন। ৬টি word থেকে প্রায় ৬২ bits entropy — offline attack-এর threshold-এর উপরে।
- Side project-এ API key ও token। webhook signing key বা development database password-এর জন্য one-off shared secret দরকার? এখানে ৩২-character symbol-rich string তৈরি করুন, একবার copy করুন, এবং এটি transit-এ একমাত্র যেখানে ছিল তা হলো আপনার নিজের ব্রাউজার ট্যাবে।
Generated password উদাহরণ কেমন দেখায়?
Length ১৬-তে সেট করুন, চারটি character class চালু রাখুন, এবং Generate ক্লিক করুন। Charset-এ ২৬ + ২৬ + ১০ + ৩২ = ৯৪ character আছে, তাই প্রতিটি generated character log2(94) ≈ ৬.৫৫ bits entropy বহন করে। ষোলটি character প্রায় ১০৪.৯ bits-এ পৌঁছায় — 'অত্যন্ত শক্তিশালী' ৮০-bit threshold-এর উপরে এবং বর্তমান hardware দিয়ে brute-force করা কার্যত অসম্ভব। এখন passphrase মোডে flip করুন, default hyphen separator দিয়ে ৫টি word বেছে নিন: cocktail-sprig-aspect-magenta-tonic log2(1296) x 5 ≈ ৫১.৭ bits বহন করে। মনে রাখার যোগ্য, টাইপ করার যোগ্য, এবং গড় human-chosen password-এর চেয়ে শক্তিশালী।
তৈরি করুন, কপি করুন, এগিয়ে যান। পেজ কখনো server দেখে না, password কখনো ট্যাব ছাড়ে না, এবং entropy প্রথম নীতি থেকে গণনা করা হয়। এটাই সম্পূর্ণ প্রতিশ্রুতি।