Avatar ·

توليد سلسلة عشوائية في PHP: كيف تفعل ذلك بشكل صحيح وآمن؟

مرحبًا بالجميع! أنا مبتدئ في PHP وأقوم بكتابة موقع صغير. أحتاج إلى توليد سلاسل عشوائية لـ tokens الجلسات، كلمات المرور المؤقتة، ومعرفات الروابط. وجدت هذا الكود على الإنترنت: ```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; } ``` لكن هناك عدة نقاط تزعجني: 1. دالة `rand()` — سمعت أنها ليست عشوائية جدًا. 2. إذا كنت بحاجة إلى 1000 سلسلة، فإن السكريبت يعمل ببطء. 3. لا أعرف إذا كان هذا مناسبًا للأغراض التشفيرية (tokens). هل يمكن استخدام هذه الدالة لتوليد كلمات المرور؟ كيف يمكن جعل التوليد عشوائيًا وآمنًا حقًا؟ هل هناك دوال مدمجة في PHP لهذا؟ سأكون ممتنًا لشرح مفصل مع أمثلة. الإصدار