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