من رفتم سربازی اگر محتوای منو دوست داشتید و بدردتون خورد از من حمایت مالی کنید

ایجاد رشته تصادفی در زبان PHP

ایجاد رشته تصادفی در زبان PHP
ایجاد رشته تصادفی در زبان PHP

ایجاد رشته تصادفی در زبان PHP

در بسیاری از پروژه‌های برنامه‌نویسی، نیاز به تولید رشته‌های تصادفی یا رندوم وجود دارد. به عنوان مثال، ممکن است برای ایجاد رمزهای عبور، توکن‌های امنیتی، یا شناسه‌های یکتا و یونیک در برنامه نیاز به رشته‌های تصادفی و رندوم داشته باشیم. در زبان برنامه نویسی پی اچ پی روش‌های مختلفی برای تولید این رشته‌ها وجود دارد. در این نوشته چندین روش رایج و کارآمد برای تولید رشته تصادفی را بررسی می‌کنیم.

 

ایجاد رشته تصادفی در زبان PHP

روش اول: استفاده از rand و str_shuffle

یکی از ساده‌ترین روش‌ها برای تولید رشته‌های تصادفی و رندوم استفاده از توابع rand و str_shuffle در زبان برنامه نویسی پی اچ پی است. تابع str_shuffle ترتیب کاراکترهای یک رشته را به صورت تصادفی و رندوم تغییر می‌دهد.

مثال:

<?php
function generateRandomString($length = 10) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return $randomString;
}

echo generateRandomString();
?>

در این کد:

$characters مجموعه‌ای از کاراکترهایی می‌باشد که می‌خواهیم در رشته‌ی تصادفی و رندوم استفاده شوند. این مجموعه شامل اعداد 0 تا 9، حروف کوچک و بزرگ انگلیسی است.

تابع generateRandomString با طول پیش‌فرض ۱۰ کاراکتر، یک رشته‌ی تصادفی تولید می‌کند. اگر می‌خواهید طول رشته متفاوتی داشته باشید، می‌توانید پارامتر $length را تغییر دهید.

خروجی نمونه:

aBc3dE2GhK

 

روش دوم: استفاده از تابع bin2hex و random_bytes

روش دیگری که هم ایمن‌تر و هم ساده‌تر می‌باشد، استفاده از تابع‌های random_bytes و bin2hex می‌باشد. این تابع‌ها برای تولید داده‌های تصادفی با امنیت بالا کاربرد دارند، خصوصاً برای کاربردهای امنیتی مانند تولید توکن‌ها.

مثال:

<?php
function generateSecureRandomString($length = 10) {
    return substr(bin2hex(random_bytes($length)), 0, $length);
}

echo generateSecureRandomString();
?>

در این کد:

  • تابع random_bytes بایت‌های تصادفی را تولید می‌کند.
  • تابع bin2hex این بایت‌ها را به یک رشته‌ی هگزا دسیمال HEX (رشته‌ای متشکل از اعداد 0 تا 9 و حروف a تا f انگلیسی) تبدیل می‌کند.
  • از تابع substr برای اطمینان از این که طول رشته تولید شده دقیقاً به اندازه پارامتر $length باشد استفاده می‌شود.
  • این روش برای مواقعی که نیاز به تولید رشته‌های تصادفی با امنیت بالا دارید، مانند رمز عبور یا توکن‌های یکتا، مناسب است.

 

روش سوم: استفاده از تابع openssl_random_pseudo_bytes

تابع دیگری که می‌توانید برای تولید داده‌های تصادفی و رندوم استفاده کنید، openssl_random_pseudo_bytes است. این تابع نیز از الگوریتم‌های رمزنگاری برای تولید داده‌های تصادفی و رندوم استفاده می‌کند.

مثال:

<?php
function generateOpenSSLRandomString($length = 10) {
    return substr(bin2hex(openssl_random_pseudo_bytes($length)), 0, $length);
}

echo generateOpenSSLRandomString();
?>

این روش نیز مشابه روش دوم است، با این تفاوت که از کتابخانه‌ی OpenSSL برای تولید داده‌های تصادفی و رندوم استفاده می‌کند.

برای امتیاز به این نوشته کلیک کنید!
[کل: 1 میانگین: 5]