شفرة المفتاح الجاري
مع المقطع It was the best of times مفتاحًا، تصبح Attack at dawn هي Impaud hx eeog: يُزاح كل حرف بالحرف التالي من نص طويل لا يتكرر، وتبقى المسافات في مكانها. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- Attack at dawn
- Key
- It was the best of times
- وضع الحساب
- encrypt
- النتيجة
- Impaud hx eeog
- الترميز
- running_key
- أحرف المفتاح
- ITWASTHEBESTOFTIMES
- طول المفتاح
- 19
تُشفِّر هذه الأداة لشفرة المفتاح الجاري النص أو تفكّ تشفيره باستبدال متعدد الأبجديات كلاسيكي يستخدم مقطعًا طويلًا من نص المفتاح كتيار مفتاح غير متكرر، لا كلمة مفتاح قصيرة تُعاد من البداية. تُزاح كل حرف أبجدي في الرسالة بالحرف التالي المأخوذ من مقطع المفتاح، فتُقابل الحرف نفسه في النص الواضح أحرفًا مختلفة في النص المشفَّر حسب الموضع بينما لا يعود المفتاح إلى أوله أبدًا. تتحرك أحرف A–Z فقط: تحفظ الحسابات المعيارية على حلقة من ستة وعشرين حرفًا حالة الأحرف، وتمر المسافات والأرقام وعلامات الترقيم والرموز الأخرى دون استهلاك خطوة مفتاح. إذا احتوى مقطع المفتاح على حروف أقل من الرسالة، يُبلِّغ المحرك بأن المفتاح قصير جدًا بدل إعادة اللف بصمت كما في فيجنير العادي.
ما شفرة المفتاح الجاري وماذا تُرجع هذه الأداة
تنتمي شفرة المفتاح الجاري إلى عائلة فيجنير وتستبدل كلمة مفتاح قصيرة متكررة بتيار نص خارجي طويل — تاريخيًا صفحة من كتاب أو عمود صحفي أو أي مقطع متفق عليه. تُزوِّدون ذلك النص المفتاحي؛ وتُعرِّف أحرفه الأبجدية كلٌّ منها إزاحة قيصر من صفر لـ A إلى خمسة وعشرين لـ Z. تُحوَّل أحرف النص الواضح بالترتيب: يستخدم الأول أول حرف مفتاح والثاني التالي وهكذا دون إعادة لف عندما ينفد التيار.
يضيف التشفير إزاحة المفتاح بباقي القسمة على ستة وعشرين؛ ويطرحها فك التشفير بالدورة المعيارية نفسها فتكون العمليتان عكسيتين دقيقتين عند استخدام المقطع نفسه. لا تتغير الأحرف غير الحرفية أبدًا ولا تتقدم مؤشر المفتاح، فيبقى التباعد وعلامات الترقيم حول الأحرف المشفَّرة قابلة للقراءة. تستخدم هذه الصفحة دائمًا تلك القاعدة الكتابية مع حفظ حالة الأحرف وحارس طول صارم: يجب أن يحتوي تيار المفتاح على عدد أحرف لا يقل عن الرسالة.
إذا احتجتم إلى AES أو فيجنير الكلاسيكي بكلمة مفتاح متكررة أو Autokey أو Base64 فاستخدموا تلك النقاط المخصصة؛ تجيب هذه الصفحة فقط عقد المفتاح الجاري الكلاسيكي الذي تصفه فصول تاريخ التشفير وإحماءات CTF.
أين يناسب المفتاح الجاري الدروس والألغاز وتجهيزات الاختبار
يلتقي المطوّرون والمعلّمون بشفرة المفتاح الجاري في إحماءات التقاط العلم وفصول الكتب عن علم التعمية الكلاسيكي والعروض التي تقابل مقطع كتاب غير متكرر بكلمة مفتاح قصيرة تفشي البنية في النهاية تحت فحص كاسيسكي. يمكن لفرق الواجهة الأمامية خلط عبارات نموذجية للقطات الشاشة دون اختراع أبجدية خاصة ثم استعادتها بـ decrypt تحت المقطع نفسه. ترمّز خدمات الخلفية سلاسل تحدٍّ قصيرة لواجهات ألغاز أو بيئات تعليمية يجب أن يقدّم فيها الطلاب نص مفتاح طويلًا بما يكفي لفتح الخطوة التالية.
يولّد مهندسو الجودة أزواج تشفير وفك تشفير حتمية لاختبارات العقد حتى لا يُعيد وسيط يدّعي دعم المفتاح الجاري لف كلمة مفتاح قصيرة بصمت. يحسب منظّمو المسابقات مفاتيح الإجابة لعبارات إنجليزية متواضعة دون الوثوق بألعاب ويب مبهمة تغيّر قواعد التباعد أو تفرض مخرجات بأحرف كبيرة فقط. تستخدم أدوات المنتج والتعليم التحويل عندما يلصق المتعلّم نصًا مشفَّرًا ويجب أن تُظهر الواجهة النص الواضح المستعاد تحت مقطع موثَّق، أو أن تشرح سبب رفض مفتاح قصير.
اقرنوها بمساعدات ترميز كلاسيكية أخرى عند بناء مختبر صغير لأدوات نص مجانية وحتمية، ولا تعاملوا المفتاح الجاري أبدًا كبديل للتشفير الحديث الموثَّق.
حالات الاستخدام
تدريب CTF والشفرة الكلاسيكية
شفِّروا الرسائل وفكّوا تشفيرها بتيار نص مفتاح طويل للألغاز والصفوف وإحماءات التقاط العلم التي تُعلِّم فيجنير غير المتكرر.
دروس تاريخ التشفير
أظهروا استخدام مقاطع الكتب كمفتاح والتحويلات التي تحفظ حالة الأحرف ولماذا يجب أن يفشل المفتاح القصير جدًا بدل إعادة اللف كما في فيجنير بكلمة المفتاح.
الأسئلة الشائعة
كيف أفكّ تشفير رسالة بمفتاح جارٍ؟
أرسلوا النص المشفَّر في text ومقطع نص المفتاح نفسه في key واضبطوا mode على decrypt (أو dec أو decode أو d). التشفير هو الافتراضي عند حذف mode.
ماذا يحدث إذا كان المفتاح قصيرًا جدًا؟
يجب أن يحتوي مقطع المفتاح الجاري على أحرف A–Z بعدد لا يقل عن الرسالة؛ وتُرفض المفاتيح الأقصر برسالة واضحة عن القصر.
ما الفرق عن فيجنير بكلمة مفتاح؟
فيجنير الكلاسيكي يعيد لف كلمة مفتاح قصيرة إلى ما لا نهاية. المفتاح الجاري لا يُعاد لفه: يُستخدم كل حرف مفتاح مرة واحدة من مقطع طويل، والمفتاح الناقص خطأ.
هل المفتاح الجاري آمن للأسرار الحقيقية؟
لا. إنها شفرة كلاسيكية للتعليم. استخدموا تشفيرًا حديثًا موثَّقًا مثل AES-GCM للسرية الحقيقية.
هل تستهلك المسافات وعلامات الترقيم حروفًا من المفتاح؟
لا. في الرسالة تمر المسافات والأرقام والعلامات دون تغيير ولا تحرّك المفتاح. وفي المقطع المستخدم مفتاحًا تُحسب الحروف وحدها، فتُتجاهل فواصله ومسافاته.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/enc/running-key \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Attack at dawn","key":"It was the best of times"}'const res = await fetch("https://api.kit.forhosting.com/enc/running-key", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Attack at dawn",
"key": "It was the best of times"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/running-key",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Attack at dawn",
"key": "It was the best of times"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/running-key", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Attack at dawn","key":"It was the best of times"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Attack at dawn","key":"It was the best of times"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/running-key", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "Attack at dawn",
"key": "It was the best of times"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.running_key",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
استخدمها مجانًا في المتصفح لإحماء CTF ودروس تاريخ التشفير وعروض بأسلوب شفرة الكتاب، أو استدعِ واجهة API بسعر $0.002 لكل طلب ناجح عندما تحتاج المسارات إلى تحويلات مفتاح جارٍ قابلة للتكرار.
ما شفرة المفتاح الجاري وماذا تُرجع هذه الأداة
تتضمن استجابة JSON الحقل result للسلسلة المحوَّلة، وencoding ثابتًا على running_key، وmode بقيمة encrypt أو decrypt، وkey_letters لتيار الأحرف الكبيرة المُطبَّع المستخرج من مقطعكم، وkey_length لذلك التيار، وkey_used وkey_used_length للبادئة المستهلكة فعليًا، وmessage_letters، وinput_length وoutput_length المتطابقين لأن التحويل يحفظ الطول، وshifted_chars بعدد الأحرف التي تحركت، وسلسلة formula تُعيد صياغة الربط المعياري وقاعدة عدم اللف للتوثيق والاختبارات. لا يوجد مسار احتياطي صامت إلى فيجنير بكلمة مفتاح ولا إلى Autokey: إما أن يكون المفتاح طويلًا بما يكفي فيُنفَّذ التحويل، أو يفشل الطلب بـ invalid_input.
كيف تُقرأ text وkey وmode وكيف تُرفض المفاتيح القصيرة
إذا لم يبقَ أي حرف بعد ذلك المرشِّح يرفض المحرك الطلب. يكون mode افتراضيًا encrypt عند الحذف ويقبل أيضًا اختصارات قصيرة مثل enc وencode وe للتشفير وdec وdecode وd لفك التشفير؛ وأي سلسلة أخرى تفشل في التحقق. حقول الحمولة المفضَّلة هي text للرسالة وkey لمقطع نص المفتاح وmode اختياري لـ encrypt أو decrypt. يقبل text أسماء بديلة مثل input وvalue وs وmessage وplaintext وciphertext حتى تعيد النماذج وعملاء SDK استخدام أسماء الأعمدة القائمة. يقبل key الحقول key_text وkeytext وpassage وbook وkeyword وk؛ ويُبقى فقط الأحرف الأبجدية داخل المفتاح ويُحوَّلها إلى أحرف كبيرة في key_letters بينما تُتجاهل الأرقام والرموز في المقطع. النص المفقود أو الفارغ والأنواع غير النصية والأوضاع المجهولة تُثير invalid_input حتى لا يبدو نموذج فارغ عملية ناجحة بلا أثر. بعد التحليل يعدّ المحرك حروف الرسالة ويقارن ذلك العدد بـ key_length. عندما يكون المفتاح قصيرًا جدًا تكون الاستجابة invalid_input برسالة صريحة تذكر العددين وتطلب نص مفتاح أطول — وهو تمامًا وضع الفشل الذي صُمِّمت هذه القدرة للإبلاغ عنه، لا إعادة لف صامتة تُعيد سلوك فيجنير بكلمة المفتاح. تُعالَج كل حرف بالخريطة المعيارية الثابتة ويتقدم مؤشر المفتاح على الأحرف فقط وإلى الأمام فقط، فالتشفير ثم فك التشفير بالمقطع نفسه يعيد دائمًا الحمولة الأصلية عندما كان المفتاح كافي الطول. اقرنوا التشغيل المجاني في متصفح هذه الصفحة بواجهة API المدفوعة عندما تحتاجون إلى النتيجة الرياضية ذاتها داخل مسار آلي دون إعادة تنفيذ التيار غير الملتف بأنفسكم. تُرجع المدخلات غير الصالحة invalid_input ولا تُحاسب، فيبقى التحقق رخيصًا بينما تظل التحويلات الناجحة بسعر ثابت للعنصر.
أين يناسب المفتاح الجاري الدروس والألغاز وتجهيزات الاختبار
على هذه الصفحة يعمل كل شيء داخل متصفحكم؛ وعبر واجهة API تكلف كل استعلام ناجح $0.002 ولا تُحاسب عمليات التحقق الفاشلة ولا يُخزَّن شيء بعد إعادة الاستجابة. يتوافق ذلك التقسيم — استكشاف تفاعلي مجاني وواجهة API مدفوعة مطابقة — مع بقية كتالوج KIT من المستوى A ويتيح الانتقال من عرض صفّي إلى مسار آلي دون تغيير النتيجة المحوَّلة.
حالات التكامل
تجهيزات CI حتمية
ولِّدوا أزواج نص مشفَّر ونص واضح لمفتاح جارٍ قابلة للتكرار لاختبارات الوحدة وملفات golden وفحوصات العقد، بما في ذلك حالات خطأ المفتاح القصير.
أسئلة تقنية
كم تكلفة أداة شفرة المفتاح الجاري؟
إنها مجانية في متصفحكم على هذه الصفحة. عبر واجهة API يكلف الطلب الناجح $0.002؛ والمدخلات غير الصالحة لا تُحاسب.