چند راه تولید رمز عبور تصادفی بوسیله Shell در لینوکس

Telegram_GEEKBOY

یکی از ویژگی های عالی لینوکس اینه که میتونید با صدها روش یک کار رو انجام بدید، حتی چیزی به سادگی تولید رمز عبور تصادفی که میتونه با ده ها روش انجام بشه. چند روش از اونا رو خواهیم دید:


همه ی این کد ها از سایت Command-Line Fu گرفته شده اند و همشون رو روی کامپیوتر های لینوکسی تست شده است. احتمالا همه این دستور ها روی ویندوز در صورتی که Cygwin رو نصب کرده باشید جواب میده اما من همه رو تست نکردم.

ساختن رمز عبور تصادفی در لینوکس

برای هر کدام از این دستور ها میتونید رمز عبور تصادفی با طول بیشتر تولید کنید یا اگه نمیخواید رمز تولید شده اینقدر بلند باشه، از اول عبارت تولید شده ،به تعداد طول دلخواه جدا کنید.خوشبختانه با وجود نرم افزارهایی مثل LastPass اصلا نیاز نیست که این رمز های پیچیده رو حفظ کنید.


1- این روش از متد SHA برای هش کردن تاریخ از طریق base64 استفاده میکنه و 32 کاراکتر اول رو به خروجی میده:

date +%s | sha256sum | base64 | head -c 32 ; echo

Ubuntu (GeekBoy.IR)-2016-01-21-12-27-09


2- این روش از ویژگی موجود در devurandom لینوکس استفاده میکنه و کاراکتر هایی که معمولا در رمز عبور ها استفاده میکنه ایجاد می کنه و 32 کاراکتر اول رو به خروجی میده:

< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;

Ubuntu (GeekBoy.IR)-2016-01-21-12-29-04


3- این یکی از تابع تصادفی openssl استفاده میکنه که ممکنه رو سیستمتون نصب نباشه:

openssl rand -base64 32

Ubuntu (GeekBoy.IR)-2016-01-21-12-31-07


4- اینم یه دستور urandom دیگه که در جهت عکس کار میکنه و خیلی قدرتمنده:

tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1

Ubuntu (GeekBoy.IR)-2016-01-21-12-32-37


5- اینم یکی دیگه:

strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n'; echo

Ubuntu (GeekBoy.IR)-2016-01-21-12-33-33


6- این روش ساده شده روش urandom هستش:

< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6

Ubuntu (GeekBoy.IR)-2016-01-21-12-35-05


7- این یکی از دستور بسیار مفید dd استفاده می کنه:

dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev

Ubuntu (GeekBoy.IR)-2016-01-21-12-37-16


8- میتونید حتی پسوردهای چپ دستی تولید کنید که بتونید راحت با یک دست اونا رو وارد کنید:

</dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c8; echo ""

Ubuntu (GeekBoy.IR)-2016-01-21-12-38-41


9- اگه نیاز دارید که مکرر رمز عبور تصادفی بسازید، بهتره که این دستور ها رو تو یه تابع بگزارید. در این صورت یک بار که این دستور رو اجرا کردید، میتونید هروقت خواستید از تابع randpw استفاده کنید. احتمالا نیاز دارید این رو تو یه فایل ~/.bashrc بگزارید:

randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;}

Ubuntu (GeekBoy.IR)-2016-01-21-12-40-54

در ضمن شما میتونید برای هرکدوم از روش های بالا این کار رو انجام بدین ، فقط کافیه که اونها رو داخل {} بزارید.


10- آخرین و آسان ترین دستور که روی همه لینوکس ها، ویندوز هایی که روی اونها Cygwin نصب هست و احتمالا MacOSX جواب میده. ممکنه فکر کنید که به خوبی قبلی ها نیست اما واقعیت اینه به اندازه کافی تصادفی هست که هرجا خواستید استفاده کنید:

date | md5sum

Ubuntu (GeekBoy.IR)-2016-01-21-12-42-30

نویسنده: مهران بهراد

اگر شما نیز به رشد دانش خود و به اشتراک گزاری آن با دیگران علاقه مندید می توانید به ما بپیوندید

ارسال یک نظر

آدرس ایمیل شما منتشر نخواهد شد.

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.