شفرة ROT5 للأرقام
يصبح 0123456789 هو 5678901234: يتقدم كل رقم خمسة مواضع على دائرة من عشرة، وتبقى الحروف والمسافات والشرطات في مكانها. طبّقه مرة ثانية تعد الأرقام الأصلية. مفيد لإخفاء أرقام الهواتف أو الطلبات في العروض. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- 0123456789
- النتيجة
- 5678901234
- الإدخال
- 0123456789
- النص
- 5678901234
- الأرقام المدوّرة
- 10
شفرة ROT5 للأرقام هي القريب الرقمي لتدوير الحروف الكلاسيكي ROT13: كل رقم ASCII من صفر إلى تسعة يُزاح خمسة مواضع على دائرة من عشرة أرقام، فيصبح الصفر خمسة، والواحد ستة، والاثنان سبعة، والثلاثة ثمانية، والأربعة تسعة، ويعود النصف الثاني من أبجدية الأرقام من الجهة الأخرى. لأن خمسة نصف عشرة، فإن تطبيق نفس الاستبدال مرة ثانية يعيد السلسلة الأصلية—الترميز والفك عمليتان متطابقتان. الحروف وعلامات الترقيم والمسافات وأي نقاط Unicode غير رقمية تمر دون تغيير، ما يجعل ROT5 مثاليًا لإخفاء خفيف لأرقام الهاتف ومعرّفات الطلب وPIN المدمجة في نص مختلط أو سلاسل ألغاز بأسلوب CTF دون لمس النثر المحيط. أدخلوا أي نص غير فارغ؛ تعيد الأداة السلسلة المحوّلة وكم رقمًا دُوِّر وكم محرفًا غير رقمي تُرك ورسالة حالة قصيرة.
ماذا يفعل ROT5 بالأرقام وما يتركه دون مساس
ينتمي ROT5 إلى عائلة شفرات الاستبدال المعياري المستخدمة في ألغاز التشفير الكلاسيكية وألعاب النص الخفيفة. الأبجدية هي أرقام ASCII العشرة من صفر إلى تسعة. لأي محرف رقم d قيمته العددية n من صفر إلى تسعة، تصدر الشفرة المحرف الوحيد لـ (n زائد خمسة) modulo عشرة.
هذا الجدول ثابت وعلني: الصفر يُعيَّن إلى خمسة، والواحد إلى ستة، والاثنان إلى سبعة، والثلاثة إلى ثمانية، والأربعة إلى تسعة، والخمسة إلى صفر، والستة إلى واحد، والسبعة إلى اثنين، والثمانية إلى ثلاثة، والتسعة إلى أربعة. لأن الإزاحة تساوي نصف حجم الأبجدية، فالتعيين انعكاس ذاتي—كل رمز عكس نفسه—فلا وضع فك منفصل ولا مفتاح سري. كل ما ليس رقم ASCII يُنسخ حرفيًا: الحروف الكبيرة والصغيرة والمسافات والشرطات في أرقام الهاتف ورموز العملة وأسطر جديدة وUnicode متعدد البايتات تبقى.
أشكال الأرقام بعرض كامل وأنظمة أرقام أخرى خارج نطاق ASCII لا تُعاد كتابتها؛ تشارك فقط المحارف العشرة ذات نقاط الترميز من ثمانية وأربعين إلى سبعة وخمسين. عندما تعيدون إرسال result كإدخال، تستعيدون النص الأصلي لكل رقم كان موجودًا، وهو فحص الذهاب والإياب القياسي الذي يستخدمه المعلمون ومؤلفو CTF للتحقق من تنفيذ ROT5.
حالات الاستخدام
تمارين شفرة في CTF والصف
يطبق الطلاب ROT5 على تسلسلات أرقام في مطالبات التحدي، ثم يطبقونه مجددًا للتحقق من خاصية الانعكاس الذاتي قبل الانتقال إلى شفرات كلاسيكية أصعب.
إخفاء خفيف للمعرّفات في العروض
تستبدل عروض المنتج ولقطات الشاشة أرقام الطلب أو أرقام هاتف عيّنة بـ ROT5 مع الإبقاء على الفواصل والتسميات مقروءة للجمهور.
الأسئلة الشائعة
ما هو ROT5؟
يدور ROT5 كل رقم ASCII 0–9 خمسة مواضع modulo 10. يصبح الصفر خمسة والواحد ستة وهكذا؛ تُعيَّن الخمسة إلى الصفر. غير الأرقام تُترك دون تغيير.
كيف أفك ROT5؟
طبّقوا ROT5 مجددًا. التعيين انعكاس ذاتي: تشغيل نفس التحويل مرتين يستعيد الأرقام الأصلية.
هل يغيّر ROT5 الحروف؟
لا. تُعاد كتابة أرقام ASCII 0–9 فقط. الحروف والمسافات وعلامات الترقيم ومحارف Unicode الأخرى تمر كما هي.
ماذا يحدث مع إدخال فارغ؟
تُطلب سلسلة غير فارغة حتى لا تُعامل الحقول الفارغة كنتيجة فارغة ناجحة.
هل تدور الأرقام العربية الهندية مثل ١٢٣؟
لا. تدور الأرقام العشرة الغربية من 0 إلى 9 فقط، أما الأرقام العربية الهندية والأرقام بعرض كامل وأنظمة الترقيم الأخرى فتبقى دون تغيير، لذا حوّلها إلى الأرقام من 0 إلى 9 قبل الاستخدام إن أردت تدويرها.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/enc/rot5 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Phone: 555-0199"}'const res = await fetch("https://api.kit.forhosting.com/enc/rot5", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Phone: 555-0199"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/rot5",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Phone: 555-0199"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/rot5", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Phone: 555-0199"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Phone: 555-0199"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/rot5", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "Phone: 555-0199"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.rot5",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_chars | 100000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
يُرفض الإدخال الفارغ بخطأ واضح invalid_input حتى لا يعامل المستدعون حقلًا فارغًا كعملية ناجحة بلا فعل. المسار حساب محارف حتمي خالص—بلا شبكة ولا بذور عشوائية ولا اعتماد على ساعة الحائط—فيعيد منفّذ المتصفح المجاني وAPI المدفوعة مسبقًا نفس JSON في كل مرة.
ماذا يفعل ROT5 بالأرقام وما يتركه دون مساس
السلاسل الفارغة ليست هنا تحويل هوية صالحًا: ترفضها API بـ invalid_input حتى لا ينتج حقل نموذج مفقود بصمت سلسلة فارغة أخرى تبدو ناجحة.
كيف تستدعون API وما يعود
يجب أن تكون السلسلة غير فارغة وألا تتجاوز حد المحارف المنشور مئة ألف محرف. أرسلوا جسم JSON بحقل سلسلة إلزامي اسمه text. الأسماء البديلة الشائعة التي يقبلها الحل أيضًا تشمل input وvalue وdata وmessage وs، حتى يتمكن العملاء الحاليون الذين يضعون بالفعل تسمية لحمولة نص حر من استدعاء هذه القدرة دون إعادة تسمية المفتاح. عند النجاح تعيد الاستجابة الحمولة الأصلية تحت input، وتعيّن result وtext معًا إلى السلسلة المحوّلة بـ ROT5 لتكون أي من المفتاحين ملائمًا للمسارات اللاحقة، وتُبلغ digits_rotated كعدد أرقام ASCII المعاد تعيينها، وnon_digits كعدد المحارف المتروكة دون تغيير، وlength كعدد محارف الإخراج (دائمًا يساوي طول الإدخال)، وformula كالمذكرة القصيرة رقم سهم قوس مفتوح رقم زائد خمسة قوس مغلق mod عشرة، وmessage كملخص إنجليزي بسطر واحد لعدد الأرقام التي تحركت. التحقق الفاشل—حقل مفقود أو نوع خاطئ أو سلسلة فارغة أو حمولة مفرطة—يعيد invalid_input ولا يُحسب أبدًا. التسعير ثابت $0.002 لكل طلب ناجح بوحدة item وسعر وحدة هامشي صفر.
نصائح عملية وحدود وعمليات بحث ذات صلة
فضّلوا إرسال السلسلة المختلطة الكاملة بدل إزالة علامات الترقيم أولًا عندما يهم السياق المحيط: تنسيقات الهاتف مثل خمسة خمسة خمسة شرطة صفر واحد تسعة تسعة تحفظ شرطاتها ومسافاتها بينما تدور الأرقام فقط، وهذا بالضبط ما تريده عادة كتابات الألغاز وعروض التحرير الخفيف. إذا احتوى مصدركم حروفًا فقط، تنجح الأداة مع ذلك وتُبلغ صفر أرقام مدوّرة—ذلك مقصود لا خطأ، لأن مسار الهوية على غير الأرقام جزء من تعريف الشفرة. تستهدف هذه الصفحة من يبحثون عن شفرة ROT5 أو مدور أرقام أو أداة ROT أعداد عبر الإنترنت؛ وليست ROT13 للحروف ولا قيصر عامًا بإزاحة اعتباطية ولا Base64 ولا تشفيرًا يوفّر السرية ضد مهاجم مدفوع. فضّلوا هذه القدرة عندما تحتاجون استبدالًا شفافًا قابلًا للعكس للأرقام فقط للعروض أو أوراق العمل أو خطوات الألغاز؛ وإن احتجتم تدوير حروف فاستخدموا أداة ROT13 موجهة للحروف. للفك استدعوا نفس نقطة النهاية مجددًا بالنتيجة السابقة؛ لا علم وضع لتعيينه. حافظوا على الحمولات دون الطول الأقصى المنشور لتبقى ذاكرة Worker محدودة. عند التدريس، اقرنوا أمثلة: تسلسل الأرقام صفر واحد اثنان ثلاثة أربعة خمسة ستة سبعة ثمانية تسعة يصبح خمسة ستة سبعة ثمانية تسعة صفر واحد اثنان ثلاثة أربعة؛ سلسلة بأسلوب الهاتف مع شرطات تُظهر حفظ علامات الترقيم؛ وسلسلة فارغة تُظهر مسار invalid_input الصارم. المهام الفاشلة التي تعيد invalid_input لا تستهلك الرصيد المدفوع مسبقًا، ما يبقي نصوص الاستكشاف رخيصة عندما يختبر العملاء حقولًا فارغة. فحوصات الذهاب والإياب سهلة: أعيدوا إدخال result وأكدوا المساواة مع الأصل، وتأكدوا أن سلسلة غير رقمية خالصة تترك result وinput متطابقين بينما يبقى digits_rotated صفرًا.
حالات التكامل
اختبارات وحدة للمسار لتحويلات الأرقام
تولّد مجموعات الاختبار سلاسل أرقام معروفة، وتؤكد التعيين الثابت (n+5) mod 10، وتشمل حالة invalid_input لإدخال فارغ كتجهيز سلبي.
أسئلة تقنية
هل شفرة ROT5 للأرقام مجانية؟
أداة المتصفح مجانية وتعمل محليًا. تستخدم استدعاءات API رصيد KIT المدفوع مسبقًا بـ $0.002 لكل طلب ناجح؛ المهام الفاشلة لا تُحسب أبدًا.