التابع Random.urandom في روبي

من موسوعة حسوب
< Ruby‏ | Random
مراجعة 12:12، 27 نوفمبر 2018 بواسطة محمد-خطيب (نقاش | مساهمات) (أنشأ الصفحة ب'{{DISPLAYTITLE:التابع <code>Random.urandom</code> في روبي}} يعيد التابع <code>urandom</code> سلسلةً نصيةً (string) باستخدام مي...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يعيد التابع urandom سلسلةً نصيةً (string) باستخدام ميزاتٍ توفرها المنصة. يفترض بالقيمة المعادة أن تكون عددًا محميًّا مشفرًا شبه عشوائي بالصيغة الثنائية. يرمي هذا التابع الاستثناء RuntimeError إذا فشلت الميزة المزودة من المنصة في تحضير النتيجة.

في عام 2017، كتب في صفحة الدليل man للدالة (random(7 في لينكس: "لا يوجد تشفيرٌ أساسيٌ موجودٌ اليوم يمكن يعدنا بأكثر من 256 بت من الحماية". لذلك  تمرير قيمة ذات حجم أكبر من 32 إلى هذا التابع قد يكون أمرًا مريبًا.

البنية العامة

urandom(size)  string

المعاملات

size

حجم السلسلة النصية المراد توليدها.

القيم المعادة

تعاد سلسلةٌ نصيةٌ بالصيغة الثنائية بحجم size تمثِّل عددًا مشفرًا شبه عشوائي.

أمثلة

مثالٌ عن استخدام التابع urandom:

Random.urandom(8)  #=> "\x78\x41\xBA\xAF\x7D\xEA\xD8\xEA"

انظر أيضًا

  • التابع bytes : يُعيد سلسلةً نصيةً ثنائيةً عشوائية بحجم محدَّدٍ من البايتات.
  • التابع rand : يُعيد عددًا عشوائيًّا يتراوح مجاله بحسب القيمة المُمرَّرة إليه.
  • التابع srand: يحدِّد بذرة مولد الأعداد شبه العشوائية للنظام بتعيين Random::DEFAULT إلى القيمة المُمرَّرة إليه.

مصادر