شفرة قيصر وROT13
مع ROT13 تصبح Hello, World! هي Uryyb, Jbeyq!: يتقدم كل حرف 13 موضعًا، وتبقى الأحرف الكبيرة كبيرة، وتظل الفاصلة والمسافة وعلامة التعجب في مكانها. اختر أي إزاحة موجبة أو سالبة وفك الترميز بالعدد نفسه. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص الأصلي
- Hello, World!
- النص الناتج
- Uryyb, Jbeyq!
- الإزاحة المطلوبة
- 13
- الإزاحة الفعلية
- 13
- العملية
- Encode
شفرة قيصر تزيح الحروف بمقدار ثابت؛ ROT13 هو حالة الإزاحة 13. تدير هذه الأداة A–Z وa–z فقط، وتترك الأرقام وعلامات الترقيم، وتبلّغ الإزاحة الفعلية بمقياس 26، وتتطابق بين المتصفح المجاني وواجهة البرمجة حرفًا بحرف.
كيف تحرّك إزاحة قيصر كل حرف
تحرّك شفرة قيصر كل حرف عددًا ثابتًا من المواضع على الأبجدية، وتعود إلى A بعد Z. وأشهر حالاتها ROT13، أي إزاحة 13، وهي القيمة الافتراضية هنا. تتحرك الأحرف من A إلى Z فقط: تدور الأحرف الكبيرة بين الكبيرة والصغيرة بين الصغيرة، ولهذا تصبح Hello, World! هي Uryyb, Jbeyq! مع بقاء الفاصلة والمسافة وعلامة التعجب في مواضعها. ولا تتغير الأرقام وسائر العلامات أيضًا، فتحتفظ الرسالة بشكلها.
الإزاحة وفك الترميز والعودة إلى الأصل
يصلح أي عدد صحيح للإزاحة، بما في ذلك القيم السالبة والقيم الأكبر من 25. ولأن الأبجدية 26 حرفًا، فإن الإزاحة 26 لا تغير شيئًا، والإزاحة −1 تساوي 25، وتعرض النتيجة دائمًا الدوران الفعلي المطبق. أما فك الترميز فهو تدوير الأحرف في الاتجاه المعاكس بالمقدار نفسه، لذلك يعيد الترميز ثم فك الترميز بالإزاحة نفسها النص الأصلي دائمًا. وهذا يجعل الأداة مفيدة في الدروس، ولتجربة الإزاحات بسرعة على لغز، ولإخفاء خفيف لحرق الأحداث أو الإجابات.
الحروف تدور والباقي يبقى
تتحرك حروف ASCII فقط. المسافات والأرقام وعلامات الترقيم تمر كما هي. تُحفظ الكبيرة والصغيرة في نطاقين منفصلين.
هكذا تبقى الرسائل ذات الفواصل بشكلها بعد الترميز، مفيد للعروض والاختبارات ذهابًا وإيابًا. مفيد للعروض الصفية وتحديات CTF والاختبارات الآلية ذهابًا وإيابًا دون غموض حول باقي القسمة على 26.
أي إزاحة بعدد صحيح مع بيان الإزاحة الفعلية
الافتراضي 13 (ROT13). الإزاحة 26 هوية؛ −1 يكافئ 25. مفيد للعروض الصفية وتحديات CTF والاختبارات الآلية ذهابًا وإيابًا دون غموض حول باقي القسمة على 26.
حالات الاستخدام
ROT13 والفصول
اعرض الاستبدال الكلاسيكي بإزاحة واحدة وفك فوري.
CTF
جرّب إزاحات على نصوص مشفرة دون مفاجآت الفاصلة العائمة.
إخفاء خفيف
اخفِ حرق الأحداث عندما تكفي الحروف فقط.
CI
ثبّت ذهاب وإياب الترميز والفك.
الأسئلة الشائعة
ما الإزاحة الافتراضية؟
الإزاحة الافتراضية هي 13، أي ROT13 الكلاسيكية. بها تصبح Hello, World! هي Uryyb, Jbeyq!، وتطبيق 13 مرة أخرى يعيد النص الأصلي، لأن مجموع الإزاحتين يساوي حروف الأبجدية البالغة 26 حرفًا.
هل تُزاح الأرقام أيضًا؟
لا. تتحرك الأحرف من A إلى Z فقط، أما الأرقام والمسافات وعلامات الترقيم فتبقى كما هي. وتدور الأحرف الكبيرة والصغيرة كل منها في أبجديتها الخاصة، فتبقى حالة الأحرف محفوظة.
ماذا تفعل الإزاحة 26 أو −1؟
الإزاحة 26 تعيد كل حرف إلى نفسه، فلا يتغير النص. والإزاحة −1 تساوي 25. يُقبل أي عدد صحيح، وتعرض النتيجة الإزاحة الفعلية المطبقة بين 0 و25.
هل ROT13 طريقة آمنة لإخفاء رسالة؟
إخفاؤها خفيف فقط. تخفي ROT13 حرق الأحداث أو حل لغز عن النظرة السريعة، لكن أي شخص يستطيع عكسها بتطبيق الإزاحة نفسها. وهي مناسبة للتمويه والتعليم لا لحماية المعلومات الخاصة.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/text/caesar-cipher \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, World!"}'const res = await fetch("https://api.kit.forhosting.com/text/caesar-cipher", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, World!"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/caesar-cipher",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, World!"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/caesar-cipher", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, World!"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, World!"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/caesar-cipher", 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!"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.caesar_cipher",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_text_chars | 100000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
أي إزاحة صحيحة وshift_effective
تُقبل القيم السالبة وما فوق 25؛ الدوران الفعلي دائمًا ((shift % 26) + 26) % 26 ويُعاد كـ shift_effective من إزاحة الإدخال حتى في decode.
decode هو الدوران العكسي
يطبق decode الدوران −shift مع الإبقاء على حقول الإزاحة الأصلية. encode ثم decode بنفس الإزاحة يعيد النص الواضح بشكل حتمي.
أخطاء منمّطة وحدود
النص مطلوب بحد 100000 حرف. الإزاحة غير الصحيحة (float أو boolean) والوضع المجهول والنص الناقص تعيد invalid_input بمقاطع ثابتة.
أسئلة تقنية
الإزاحة الافتراضية؟
13 — ROT13 الكلاسيكي.
هل تدور الأرقام؟
لا؛ الحروف فقط.
ما shift_effective؟
إزاحة الإدخال مخفّضة إلى 0…25.
كيف يعمل decode؟
دوران −shift مع نفس حقول الإزاحة.
إزاحة سالبة؟
نعم؛ −1 ≡ 25.
مجاني؟
نعم في المتصفح؛ التطبيق $0.002.