این ابزار پسورد را چطور میسازد؟
هر پسورد با تابع crypto.getRandomValues مرورگر ساخته میشود. این تابع از مولد اعداد تصادفی امن سیستمعامل تغذیه میشود؛ همان منبعی که مرورگر برای ساخت کلیدهای اتصال HTTPS استفاده میکند. برخلاف Math.random که برای بازی و انیمیشن ساخته شده و قابل پیشبینی است، خروجی این تابع برای کاربردهای رمزنگاری مناسب است.
ابزار برای هر کاراکتر یک عدد تصادفی ۳۲ بیتی میگیرد و آن را با روش نمونهبرداری ردکننده (rejection sampling) به یکی از کاراکترهای مجموعهٔ انتخابشده نگاشت میکند: عددهایی که در انتهای بازه باعث سوگیری باقیماندهٔ تقسیم میشوند کنار گذاشته و دوباره کشیده میشوند، بنابراین همهٔ کاراکترها دقیقاً با احتمال برابر انتخاب میشوند. طول بین ۸ تا ۶۴ قابل تنظیم است و پیشفرض ۲۰ کاراکتر است. چهار گروه کاراکتر دارید: حروف بزرگ، حروف کوچک، اعداد و ۲۵ علامت شامل !@#$%^&*()-_=+[]{};:,.<>?. با هر تغییر در تنظیمات، پسورد تازهای ساخته میشود.
کاراکترهای شبیه به هم یعنی صفر، حرف O، حرف I بزرگ، حرف l کوچک و عدد یک بهطور پیشفرض حذف میشوند تا هنگام خواندن یا تایپ دستی اشتباه پیش نیاید. اگر رمز فقط کپی و جایگذاری میشود، میتوانید گزینهٔ «حذف نویسههای مشابه» را خاموش کنید تا مجموعهٔ کاراکترها کمی بزرگتر شود.