done_all ساخت کلمه عبور امن تصادفی در php
856 4

امروز به آموزش نحوه ساخت کلمه عبور تصادفی در php می پردازیم. این کلمه عبور قرار است توسط سیستم به کاربر پیشنهاد شود و کلمه ایست که به صورت رندم یا تصادفی ایجاد می شود و دارای ویژگی های زیر است.

ویژگی های کلمه عبور تصادفی :

  • دارای 8 کاراکتر می باشد
  • شامل اعداد، حروف کوچک، حروف بزرگ و کاراکترهای خاص می باشد
  • شامل حداقل یک عدد، یک حرف کوچک و یک حرف بزرگ می باشد

قدم اول : تعیین کاراکتر های مجاز مورد استفاده در کلمه عبور


ابتدا 4 متغیر با نام lower,upper,digit,sp برای تعیین حروف کوچک،حروف بزرگ،اعداد و کاراکترهای خاص ایجاد و مقدارهای تعیین شده را با استفاده از تابع range به صورت آرایه به آنها نسبت می دهیم. سپس توسط متد array_merge همه آرایه ها را به یک آرایه تبدیل می کنیم :

$lower = range('a','z');
$upper = range('A','Z');
$digit = range(0,9);
$sp = ['!','@','#','$','%','^','&','*'];
$total = array_merge($lower,$upper,$digit,$sp);

قدم دوم : تعیین حداقل یک عدد،یک حرف کوچک و یک حرف بزرگ

حداقل یک کاراکتر به صورت رندم از هر یک از متغیرهای lower,upper,digit جدا کرده و به صورت رشته در متغیر pass ذخیره می کنیم:

$pass = $lower[rand(0,25)] . $upper[rand(0,25)] . $digit[rand(0,9)];

قدم سوم: تعیین 5 کاراکتر تصادفی دیگر

 از متغیر total که در مجموع 69 کاراکتر دارد با استفاده از حلقه for 5 کاراکتر به صورت رندم انتخاب و به سه کاراکتر متغیر pass می چسبانیم:

for ($i=0;$i<5;$i++) {
    $pass .= $total[rand(0,69)];
}

قدم چهارم: تغییر جایگاه کاراکترها به صورت تصادفی

 حال با استفاده از تابع shuffle کل کاراکترهای تصادفی ایجاد شده را به هم مخلوط کرده و رشته تصادفی جدیدی می سازیم. توجه داشته باشید که با این کار جایگاه سه کاراکتر اول که در قدم دوم ساخته شده اند به صورت تصادفی نیز تغییر می کند. 
نکته دیگری که باید به آن توجه داشته باشید این است که تابع shuffle یک پارامتر به صورت ورودی دریافت می کند. پس رشته pass را ابتدا توسط تابع str_split به آرایه تبدیل می کنیم و  در نهایت توسط تابع implode به رشته تبدیل می کنیم.

 

$a = str_split($pass);
shuffle($a);
var_dump(implode("",$a));

آیا این مطلب برای شما مفید بود؟

دسترسی سریع

ثبت دامنه

ثبت دامنه

فالوور و لایک

افزایش فالوور و لایک

طراحی لوگو

طراحی لوگو

طراحی سایت

طراحی سایت

هاست لینوکس

هاست لینوکس

افزایش بازدید

افزایش بازدید
 پرینت این مقاله

در همین زمینه

ساخت تصویر امنیتی (کپچا یا captcha) در php

با آموزش ویژه دیگری از سری آموزش های برنامه نویسی تحت عنوان آموزش ساخت تصویر امنیتی یا Captcha...

راجع به عملگرها در PHP بیشتر بدانید

در این آموزش قصد داریم تا با عملگرها یا Operators آشنا شویم. عملگر یا Operators در PHP  چیست ؟...

صفحه بندی یا pagination ساده با کمک php و mysql

در این آموزش سعی بر آن شده تا نحوه صفحه بندی در php را به صورت خیلی مبتدی و آسان توضیح دهم تا...

PDO یا MySQLi – کدام را باید استفاده کرد؟

هنگامی که قصد داریم در PHP به یک پایگاه داده دسترسی داشته باشیم، برای ما دو راه وجود...

یادگیری بیشتر Session ها در php

Session در php چيست ؟ در جلسات قبل دانستيد که متغيرها اين امکان را به شما مي دهند تا مقداري را...