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