LibraTool logoLibraTool

دروستکەری تێپەڵەوشەی بەخۆڕایی

تێپەڵەوشەی بەهێز و هەڕەمەکی بە درێژییەکی ڕێکخراو، جۆری کاراکتەر، و دەرچوون دروست بکە. بێ سنوور، بێ چوونەژوورەوە.

بەبێ ئینتەرنێت کاردەکات دوای بارکردن
16
464

چۆن کار دەکات

وشە نهێنیەکان تەواو لە وێبگەڕەکەتدا دروستدەکرێن بە بەکارهێنانی crypto.getRandomValues()ی APIی Web Crypto — هەمان سەرچاوەی هەڕەمەکی کریپتۆگرافیانەی کە وێبگەڕەکان بۆ TLS بەکاریدەهێنن. هیچ Math.random()، هیچ سێرڤەر، هیچ داواکاری تۆڕی هیچ جۆرێک نییە.

  1. 1
    کۆکردنەوەی کۆمەڵی پیت
    بەپێی هەڵبژاردنی سندووقەکانت، ئامرازەکە ڕیزی جیا دروستدەکات بۆ گەورە، بچووک، ژمارە، و هێما. ئەگەر 'دەرخستنی پیتی هاوشێوە' چالاکبێت، پیتی هاوشێوەی بینایی وەک 1، l، I، 0، و O لادەبردرێن پێش پێکهاتەی کۆمەڵەکە.
  2. 2
    هەڵبژاردنی هەڕەمەکی بە نموونەگرتنی ڕەتکردنەوە
    هەر شوێنی پیتێک پڕدەکرێتەوە بە بەکارهێنانی crypto.getRandomValues() لەگەڵ نموونەگرتنی ڕەتکردنەوە: ئەگەر نرخێکی هەڕەمەکی خاو بکەوێتە کۆتایی لادراوی دابەشکردنەکەوە، لادەبردرێت و دووبارە دەکێشرێتەوە. ئەمە لادانی مۆدولۆ لادەبات کە هەندێک پیت لە ئامارییەوە زیاتر ئیحتمالی بکات لە یەکێکی تر.
  3. 3
    دەستنیشانکراوی پۆل گەرەنتیکراوە
    دوای نموونەگرتنی وشە نهێنی تەواو، ئامرازەکە پشکنین دەکات ئایا بەلایەنی کەم یەک پیت لە هەموو پۆلی هەڵبژێردراودا بەردەستە. ئەگەر نا، وشە نهێنی تەواو دووبارە نموونەدەگرێت و دووبارە پشکنین دەکات — تا 100 جار — لەبری گۆڕینی پیت بۆ شوێنی جێگیر، کە دابەشکردنەکە خۆی لادەدات.
  4. 4
    ئینترۆپی و خەمڵاندنی کاتی شکاندن
    ئامرازەکە ئینترۆپی وەک درێژی × log2(قەبارەی کۆمەڵ) ژمێردەکات و کاتی شکاندن خەمڵدەنێت بە بەکارهێنانی ژمێریاری بواری لۆگ بەرامبەر بنەمای GPUی 100 ملیار هەوڵ لە چرکەدا (گونجاو بۆ هاشی خێرا وەک MD5؛ وشە نهێنی پارێزراو بە bcrypt/Argon2 زۆر زیاتر دەخایەنن). هەردوو ژمارە دەستبەجێ نوێدەبنەوە کاتێک ڕێکخستنەکان دەگۆڕیت.

دروستکەرەکە تەواو لە وێبگەڕەکەتدا کاردەکات — هیچ وشە نهێنی، ڕێکخستن، یان داتای بەکارهێنان هەرگیز بۆ سێرڤەرێک نانێردرێت.

ئامرازە پەیوەندیدارەکان

پرسیارە باوەکان