• 0

ما هي أفضل طريقة لتوليد سلسلة نصية عشوائية في الروبي ؟

أحتاج إلى طريقة توليد سلسلة نصية عشوائية في الروبي لإنشاء برنامج يقوم بصنع كلمات مرور قوية وصعبة الكسر، فكيف أستطيع فعل ذلك ؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

كالعادة في الروبي، توجد دائما عدة طرق للقيام بنفس الوظيفة، فمثلا يمكنك إنشاء سلسلة نصية تتكون من حروف عشوائية بطول 8 أحرف عن طريق الشيفرة البرمجية التالية:

(0...8).map { (65 + rand(26)).chr }.join

ويمكنك التعديل عليها كما تريد مثلا إذا أردت استبدال 8 أحرف بـ 50 حرف فيمكنك فعل هذا بكل سهولة عن طريق هذه الشيفرة (لاحظ أننا قمنا أيضا بتسهيل القراءة للشيفرة):

(0...50).map { ('a'..'z').to_a[rand(26)] }.join

ويمكنك أيضا استخدام دالة hex من وحدة SecureRandom كما في المثال التالي، والتي ستقوم بإنشاء سلسلة نصية عشوائية متكونة من 32 أرقام وأحرف (من a إلى f):

require 'securerandom'
random_string = SecureRandom.hex

# outputs: 5b5cd0da3121fc53b4bc84d0c8af2e81 (i.e. 32 chars of 0..9, a..f)

أو يمكنك ببساطة استخدام rand لإنشاء السلسلة النصية العشوائية كما في المثال التالي:

rand(36**8).to_s(36)

المصدر

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن