شفرة ROT-N
اختر أي إزاحة من 0 إلى 25: مع 13 يصبح Hello, World! هو Uryyb, Jbeyq!، ومع 3 تحصل على شفرة قيصر الكلاسيكية، وعند الفك يرجع كل حرف بالمقدار نفسه. لا تتحرك الأرقام ولا علامات الترقيم. مجانية في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- Hello, World!
- N
- 13
- وضع الحساب
- Encode
- النتيجة
- Uryyb, Jbeyq!
- N الفعلي
- 13
- الطول
- 13
- الأحرف المدوّرة
- 10
ROT-N هو الشكل العام لشفرة الاستبدال المألوفة ROT13: تختارون دورانًا صحيحًا N فيتقدم كل حرف لاتيني ذلك العدد من المواضع في الأبجدية بينما تبقى الأرقام والمسافات وعلامات الترقيم كما هي. ولأن الأبجدية دائرة من ستة وعشرين حرفًا، يلتف التحويل من Z إلى A ومن z إلى a، وتبقى الأحرف الكبيرة كبيرة حتى يحافظ النص على شكله. وضع encode يطبّق زائد N؛ ووضع decode يطبّق ناقص N، فيخفي الأداة نفسها النص ويكشفه عندما تعرفون الإزاحة.
كيف تعمل دوران ROT-N وما الذي تحتويه الاستجابة
يعامل ROT-N الأحرف اللاتينية الستة والعشرين كدائرة معيارية. لكل حرف كبير، عيّنوا A إلى صفر حتى Z إلى خمسة وعشرين، وأضيفوا الإزاحة الفعّالة، وخذوا الباقي modulo ستة وعشرين، ثم أعيدوا التعيين إلى حرف بنفس الحالة. تتبع الأحرف الصغيرة الحساب نفسه من a إلى z.
تُنسخ الأحرف خارج هذين النطاقين — بما فيها الأرقام والمسافات البيضاء وعلامات الترقيم والإيموجي والكتابات غير اللاتينية — دون تغيير حتى يبقى هيكل الجملة بعد التحويل. يستخدم وضع encode العدد الصحيح N الذي تقدّمونه كدوران للأمام؛ ويستخدم وضع decode المعكوس المعياري، وهو يعادل الدوران بستة وعشرين ناقص N عندما لا يكون N صفرًا. إزاحة الصفر هي الهوية؛ وثلاثة عشر هو ROT13 الكلاسيكي وهو انعكاس ذاتي؛ وثلاثة يعيد مثال قيصر في كثير من الكتب.
يكون mode الاختياري encode افتراضيًا عند حذفه.
قواعد التحقق والإزاحات خارج النطاق والأخطاء الشائعة
يجب أن يكون الإزاحة N عددًا صحيحًا من صفر إلى خمسة وعشرين شاملًا. تحافظ العبارات المختلطة الحالة على الحالة لأن أبجديتي الكبرى والصغرى تدوران باستقلال. لا تدور الأحرف غير ASCII مثل اللاتينية المعلّمة أو السيريلية في هذا التعريف الكلاسيكي؛ تمر دون تغيير ليبقى الخوارزم وفيًا لعائلة ROT التي يبحث عنها المستخدمون.
لا تعاملوا النتيجة كتشفير أمني: من يعرف N يعكس النص فورًا، ولا ينبغي لصفحة المنتج أن تسوّق ROT-N كحماية لأسرار أو كلمات مرور أو بيانات شخصية. فضّلوا هذه الصفحة عندما يكون الاستعلام حرفيًا شفرة rot-n أو مشفر rot n أو تدوير الحروف بمقدار N؛ أما ROT13 وROT5 وROT18 الثابتة أو صفحة قيصر عامة بمفاتيح تاريخية فتجيب نيات مختلفة ويجب أن تبقى أدوات منفصلة.
حالات الاستخدام
ألغاز وإحماءات CTF بإزاحة N متغيرة
رمّزوا أو فكّوا سلاسل التحدي بأي N من 0 إلى 25 دون كتابة سكربت لمرة واحدة لكل مجموعة مسائل.
عروض حساب معياري في الصف
أظهروا أن encode بـ N وdecode بنفس N يعيدان النص الأصلي، وأن الإزاحات خارج النطاق تفشل بوضوح.
الأسئلة الشائعة
ما هي شفرة ROT-N؟
استبدال كلاسيكي يدوّر كل حرف لاتيني N مواضع صحيحة على دائرة الأبجدية (modulo 26). تبقى غير الأحرف دون تغيير. يُختار N لكل طلب في النطاق 0–25.
كيف أرمّز وأفك الترميز؟
أرسلوا text وn مع mode encode (الافتراضي) للدوران للأمام. استخدموا نفس n مع mode decode للدوران للخلف واستعادة محتوى الأحرف اللاتينية الأصلي.
ماذا لو كانت إزاحاتي خارج النطاق؟
يجب أن يكون N عددًا صحيحًا من 0 إلى 25 شاملًا؛ تُرفض قيم مثل 26 و−1 و3.5 ولا تُحسب.
هل تُدوَّر المسافات وعلامات الترقيم؟
لا. تتحرك A–Z وa–z فقط. تمر المسافات والأرقام وعلامات الترقيم وغيرها دون تغيير فتبقى بنية الجملة مقروءة.
ما الإزاحة التي تعطي شفرة قيصر؟
الإزاحة 3 تعيد مثال قيصر الكلاسيكي الذي تشرحه الكتب المدرسية. ومع 13 تحصل على ROT13 الذي يُفك بتكرار الخطوة نفسها، أما الإزاحة 0 فتترك النص دون تغيير.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/enc/rot-n \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, World!","n":13}'const res = await fetch("https://api.kit.forhosting.com/enc/rot-n", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, World!",
"n": 13
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/rot-n",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, World!",
"n": 13
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/rot-n", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, World!","n":13}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, World!","n":13}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/rot-n", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "Hello, World!",
"n": 13
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.rot_n",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
تقبل هذه القدرة نصًا غير فارغ وعددًا صحيحًا N في المجال المغلق من صفر إلى خمسة وعشرين، وترفض الإزاحات خارج النطاق بخطأ invalid_input واضح، وتعيد السلسلة المدوّرة مع عدّادات يمكن التأكد منها في الاختبارات. تشترك ودجة المتصفح المجانية وواجهة API المدفوعة مسبقًا في دالة نقية واحدة، فتتفق مدققات الواجبات ونصوص الإنتاج دائمًا. تستهلك استدعاءات API الناجحة رصيد KIT المدفوع مسبقًا بمقدار $0.002 لكل عنصر؛ ولا تُحسب إخفاقات التحقق.
كيف تعمل دوران ROT-N وما الذي تحتويه الاستجابة
أرسلوا جسم JSON بحقل السلسلة الإلزامي text والعدد الصحيح الإلزامي n (تُقبل الأسماء البديلة مثل shift وrot). عند النجاح تتضمن الاستجابة text الأصلي وn وmode وn_effective كدوران أمامي بعد تطبيق الوضع وresult للسلسلة المحوّلة وlength للإدخال وletters_rotated بعدد الأحرف الأبجدية التي تحركت، إضافة إلى تسميات alphabet وcipher للعملاء الذين يثبتون ملفًا. تنتج المدخلات المتطابقة دائمًا JSON متطابقًا لأن المسار حساب حروف نقي بلا شبكة ولا بذرة عشوائية ولا ساعة جدارية.
قواعد التحقق والإزاحات خارج النطاق والأخطاء الشائعة
تفشل قيم مثل ستة وعشرين وناقص واحد و3.5 أو سلسلة غير رقمية فورًا بـ invalid_input مع رسالة إنجليزية تفيد بأن الإزاحة خارج النطاق أو ليست عددًا صحيحًا. هذا النطاق الصارم مقصود: نية البحث عن ROT-N تتوقع دورانًا مسمّى على دائرة الأبجدية، لا لفًّا صامتًا لأعداد صحيحة عشوائية يخفي أخطاء الواجبات. كما يرفع غياب text أو text غير سلسلة أو السلاسل الفارغة أو غياب n أو قيم mode غير المدعومة invalid_input ولا تُحسب على API المدفوعة مسبقًا. تُقبل السلاسل المكوّنة من مسافات فقط إذا كان طولها أكبر من صفر؛ تدور الأحرف فقط، فتعيد سلسلة المسافات نفسها مع letters_rotated يساوي صفرًا.
استخدام API والتسعير وتدفقات الصف والحدود العملية
استدعوا شفرة ROT-N المجانية في المتصفح لمسودات الألغاز وحرق المنتديات وعروض الدرس والفحوصات العابرة دون تثبيت openssl أو كتابة سطر واحد في كل لغة. يُظهر تدفق صف نموذجي للطلاب أن الترميز بـ N والفك بنفس N يعيد الرسالة الأصلية، ثم يقارن تلك الهوية بشفرة ذات مفتاح حقيقي لاحقًا في المنهج. يمكن لأدلة الدعم عكس ملاحظات تذاكر مموّهة خفيفًا كتبها الموظفون عمدًا بدوران مشترك. اقرنوا Base64 أو ترميز URL فقط عندما تحتاج خطوة نقل لاحقة أبجدية مختلفة — وأبقوا ROT-N على صفحة هبوط خاصة حتى تبقى نية SEO لدوران الحروف المتغير حادة ولا تلتهم صفحات الإزاحة الثابتة أو التحليل التشفيري الكامل. استخدموا API KIT المدفوعة مسبقًا عندما يحتاج خلفية أو دالة serverless أو منصة تدريس أو SDK عقدًا مستقرًا برصيد $0.002 لكل عنصر ناجح؛ ولا تستهلك إخفاقات التحقق الرصيد بعد رفض المحرك. يمكن لمواقع الألغاز حساب الإجابات مسبقًا لعرضها وكشفها عند الطلب بنفس نقطة النهاية بتغيير mode إلى decode. يمكن لمؤلفي SDK ربط حقل result بزر نسخ بينما يجعل n_effective وletters_rotated أمثلة OpenAPI مفهومة بذاتها. أبقوا الحمولات بأحجام نص عادية تناسب استدعاء item لعزلة Worker؛ هذه الأداة للرسائل والمقتطفات لا لكتل ثنائية متعددة الميغابايت.
حالات التكامل
تمويه الحرق والتسميات
دوّروا إجابات الاختبارات أو التسميات الداخلية بـ N مشترك، ثم اعكسوها لاحقًا بـ mode decode في المتصفح أو عبر API.
أسئلة تقنية
كم التكلفة؟
أداة المتصفح مجانية وتعمل محليًا. تستخدم طلبات API رصيد KIT المدفوع مسبقًا بمقدار $0.002 لكل عنصر ناجح؛ ولا يُحسب الإدخال غير الصالح.