مولد أرقام عشوائية ببذرة
يعيد مولد الأرقام العشوائية ذي البذرة عدداً صحيحاً أو قيمة شبه عشوائية ذات فاصلة عائمة بين الحد الأدنى والحد الأقصى المحددين، مع شمول الحدّين.
شغّل الأداة مجانًا
إذا قدّمتم النطاق والبذرة والوضع أنفسها لاحقاً، فستحصلون على النتيجة نفسها تماماً. تفيد هذه القابلية الموثوقة للتكرار في بيانات الاختبار والمحاكاة والألعاب والعروض التوضيحية وأي سير عمل يجب فيه إعادة اختيار يبدو عشوائياً أو تدقيقه. لا تستخدم العملية عشوائية النظام ولا خدمة شبكية ولا الوقت الحالي.
ولّدوا رقماً يمكنكم تكراره
تكون أدوات الأرقام العشوائية المعتادة ملائمة إلى أن تحتاجوا إلى تفسير نتيجة أو تكرارها. يعامل هذا المولد البذرة بوصفها جزءاً من المدخلات، ولذلك تصبح القيمة المولدة حقيقة قابلة للتكرار بدلاً من أن تكون مصادفة عابرة. أدخلوا حداً أدنى شاملاً وحداً أقصى شاملاً وبذرة تمثل عدداً صحيحاً آمناً. أبقوا الوضع الافتراضي للأعداد الصحيحة عندما تحتاجون إلى عدد كامل، مثل فهرس أو نتيجة أو كمية أو حالة اختبار. اختاروا الوضع العشري عندما تلائمكم قيمة كسرية. تكرر الاستجابة الحدود الفعلية والبذرة والوضع إلى جانب القيمة المولدة، مما يجعل المخرج المحفوظ واضحاً بذاته. إذا أرسلتم المدخلات الأربعة نفسها من متصفح أو برنامج نصي أو مهمة CI أو عميل API، فإن الحساب يسلك المسار الحسابي الثابت نفسه تماماً. تفيد هذه الخاصية خصوصاً عندما يعتمد إخفاق على مدخل مولد: سجلوا البذرة مع تقرير الاختبار، ثم أعيدوا التشغيل لاحقاً وافحصوا الحالة نفسها من دون الاحتفاظ بحالة خفية للمولد.
افهموا الحدود الشاملة والتحقق
يدخل الحدّان كلاهما في النطاق. في وضع العدد الصحيح، يمكن لنطاق من 1 إلى 6 أن يعيد 1 أو 6 أو أي عدد صحيح بينهما. يشترط هذا الوضع أن يكون الحد الأدنى والحد الأقصى عددين صحيحين آمنين، لأن أرقام JavaScript خارج النطاق الدقيق قد تفقد وحدات بصمت وتجعل الحد الموعود مضللاً. يقبل الوضع العشري أي حدود رقمية منتهية ويستخرج كسراً قابلاً للتكرار من 53 بت مختلطاً من البذرة، ويسمح التطبيع بكلا الطرفين. عندما يتساوى الحد الأدنى مع الحد الأقصى، يعاد ذلك الرقم المشترك في أي وضع. يرفض المولد القيم الناقصة والقيم غير المنتهية مثل Infinity والبذور غير الآمنة والأوضاع غير المدعومة والحدود الكسرية في وضع العدد الصحيح. كما يبلغ عن خطأ في الإدخال عندما يتجاوز الحد الأدنى الحد الأقصى بدلاً من تبديل القيم بصمت. هذا الرفض الصريح مهم في الأتمتة، إذ ينبغي أن يظهر خطأ الإعداد المعكوس بوضوح بدلاً من إنتاج مخرج معقول من نطاق لم يقصده المستدعي.
استخدموا البذرة للتكرار لا للأمان
يكون المولد الحتمي مثالياً عندما يكون الهدف هو قابلية التكرار. يمكنكم استخدامه لاختيار مثال ثابت للتوثيق، أو توزيع بيانات اختبار على مجموعة محدودة، أو إنشاء سيناريوهات لعب قابلة للإعادة، أو إدخال تنوع مضبوط في محاكاة. تنتج البذور المختلفة عادة قيماً مختلطة مختلفة، بينما يحافظ تكرار البذرة على النتيجة للنطاق والوضع نفسيهما. تنفذ الخوارزمية محلياً مزجاً ثابتاً لأعداد صحيحة من 64 بت، ولا تقرأ الساعة أو إنتروبيا نظام التشغيل أو تخزيناً خارجياً أو خدمة بعيدة. يحافظ هذا الاستقلال على استقرار النتائج وسرعة كل طلب. ويعني أيضاً أن هذه القدرة ليست مولداً أمنياً. يستطيع كل من يعرف الخوارزمية والبذرة إعادة إنتاج المخرج، لذلك لا تستخدموها لكلمات المرور أو رموز المصادقة أو مفاتيح التشفير أو السحوبات المنظمة أو الألعاب التنافسية. اختاروا لتلك المهام مصدر إنتروبيا آمناً تشفيرياً مع ضوابط تشغيل مناسبة. البذرة هنا مفتاح لإعادة التشغيل وليست سراً.
حالات الاستخدام
أعيدوا تشغيل حالة اختبار مولدة
احفظوا البذرة مع الاختبار الفاشل وأعيدوا توليد المدخل المحدود نفسه أثناء تصحيح الأخطاء.
أنشئوا بيانات عرض مستقرة
امنحوا الأمثلة تنوعاً واقعياً مع إبقاء لقطات الشاشة والتوثيق وعمليات البناء قابلة للتكرار.
شغّلوا عمليات محاكاة قابلة للتكرار
خصصوا بذوراً معروفة للسيناريوهات كي يمكن مقارنة النتائج وإعادة إنتاجها بصورة مستقلة.
الأسئلة الشائعة
ما التكلفة؟
تكلف كل مطالبة API مقدار $0.002. يمكنكم أيضاً تشغيل القدرة في متصفحكم.
هل يدخل الحد الأدنى والحد الأقصى في النطاق؟
نعم. يحدد كلا الوضعين نطاقاً شاملاً، ويعيد تساوي الحدّين تلك القيمة نفسها تماماً.
هل تنتج البذرة نفسها النتيجة نفسها دائماً؟
نعم، عندما تبقى البذرة والحد الأدنى والحد الأقصى والوضع بلا تغيير.
ماذا يحدث إذا تجاوز الحد الأدنى الحد الأقصى؟
يفشل الطلب مع خطأ إدخال غير صالح. لا يعاد ترتيب الحدود بصمت أبداً.
هل يمكن استخدام النتيجة لكلمات المرور أو رموز الأمان؟
لا. الخوارزمية حتمية وقابلة للتكرار، وليست آمنة تشفيرياً.
ما الفرق بين وضع العدد الصحيح والوضع العشري؟
يعيد وضع العدد الصحيح عدداً صحيحاً آمناً، ويعيد الوضع العشري عدداً منتهياً ذا فاصلة عائمة ضمن الحدود.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/prob/random-number-range \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"min":10,"max":100,"seed":2026}'const res = await fetch("https://api.kit.forhosting.com/prob/random-number-range", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"min": 10,
"max": 100,
"seed": 2026
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/prob/random-number-range",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"min": 10,
"max": 100,
"seed": 2026
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/prob/random-number-range", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"min":10,"max":100,"seed":2026}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"min":10,"max":100,"seed":2026}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/prob/random-number-range", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"min": 10,
"max": 100,
"seed": 2026
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "prob.random_number_range",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |