نحوه ایجاد رمزهای عبور تصادفی در Bash با استفاده از `/dev/urandom`

تولید داده های تصادفی یک کار رایج در بسیاری از برنامه ها است، به خصوص زمانی که صحبت از ایجاد رمزهای عبور ایمن می شود. در این راهنما، نحوه تولید رمزهای عبور تصادفی با استفاده از Bash و the را یاد خواهیم گرفت /dev/urandom
فایل. این روش تضمین می کند که رمزهای عبور شما تصادفی و امن هستند. ما اسکریپت را گام به گام می سازیم و هر قسمت را توضیح می دهیم تا بتوانید به راحتی آن را دنبال کنید. در پایان، یک اسکریپت کامل Bash برای تولید رمزهای عبور تصادفی خواهید داشت.
مرحله 1: بایت های تصادفی تولید کنید
برای شروع، ما بایت های تصادفی را با استفاده از head
دستور خواندن از /dev/urandom
. سپس، استفاده خواهیم کرد base64
برای رمزگذاری این بایت ها در قالبی قابل خواندن.
head -c 16 /dev/urandom | base64
توضیح:
-
head -c 16 /dev/urandom
: این 16 بایت از را می خواند/dev/urandom
، یک فایل ویژه که بایت های تصادفی را ارائه می دهد. -
| base64
: این بایت ها را در یک رشته base64 کد می کند و خواندن آن را آسان می کند.
هنگامی که این دستور را در ترمینال خود اجرا می کنید، یک خروجی رشته تصادفی خواهید دید که چیزی شبیه به این است: r8BgD2h+P/QA5FyN
.
مرحله 2: کاراکترهای ناخواسته را حذف کنید
در مرحله بعد، خروجی را به گونهای اصلاح میکنیم که فقط نویسههای الفبای عددی را شامل شود و پسورد را کاربرپسندتر کنیم. ما استفاده خواهیم کرد tr
دستور برای این
head -c 16 /dev/urandom | base64 | tr -dc 'a-zA-Z0-9'
توضیح:
-
tr -dc 'a-zA-Z0-9'
: این کاراکترهایی را که در محدوده نیست حذف می کندa-z
،A-Z
، یا0-9
، یک رشته الفبایی تمیز برای ما باقی می گذارد.
این دستور را اجرا کنید و یک خروجی تمیزتر مانند دریافت خواهید کرد r8BgD2hPQA5FyN
.
مرحله 3: همه چیز را در کنار هم قرار دهید
بیایید همه چیز را در یک اسکریپت ساده ترکیب کنیم که هر زمان که به یک رمز عبور تصادفی جدید نیاز داشتید بتوانید اجرا کنید.
#!/bin/bash
# Generate a random password
PASSWORD=$(head -c 16 /dev/urandom | base64 | tr -dc 'a-zA-Z0-9')
# Display the password
echo "Your random password is: $PASSWORD"
توضیح:
-
#!/bin/bash
: این خط مشخص می کند که اسکریپت باید در پوسته Bash اجرا شود. -
PASSWORD=$(...)
: این دستور ما را اجرا می کند و نتیجه را در قسمت ذخیره می کندPASSWORD
متغیر. -
echo "Your random password is: $PASSWORD"
: این رمز عبور ایجاد شده را روی صفحه نمایش چاپ می کند.
مرحله 4: اجرای اسکریپت
برای اجرای اسکریپت، آن را در یک فایل ذخیره کنید (به عنوان مثال، generate_password.sh
) به آن اجازه اجرا بدهید و سپس اجرا کنید.
chmod +x generate_password.sh
./generate_password.sh
توضیح:
-
chmod +x generate_password.sh
: این باعث می شود اسکریپت قابل اجرا باشد. -
./generate_password.sh
: این اسکریپت را اجرا می کند.
هنگامی که اسکریپت را اجرا می کنید، خروجی مانند زیر را خواهید دید: Your random password is: r8BgD2hPQA5FyN
.
اسکریپت کامل
در اینجا اسکریپت کامل برای مرجع آسان است:
#!/bin/bash
# Generate a random password
PASSWORD=$(head -c 16 /dev/urandom | base64 | tr -dc 'a-zA-Z0-9')
# Display the password
echo "Your random password is: $PASSWORD"
نتیجه
استفاده كردن /dev/urandom
in Bash یک راه ساده و موثر برای تولید رمزهای عبور تصادفی است. این روش تضمین می کند که رمزهای عبور شما ایمن و تصادفی هستند، که برای محافظت از داده های شما ضروری است. اکنون یک اسکریپت مفید برای ایجاد رمزهای عبور قوی در هر زمان که به آنها نیاز دارید دارید!
احساس رایگان برای سفارشی کردن اسکریپت مطابق با نیازهای خود، و کدنویسی شاد!
ادامه مطلب: توابع Bash پیشرفته