البرمجة

تشفير النص في C#

لقد فهمت أنك تعمل على تشفير سلسلة نصية في C# بنفس الطريقة التي كنت تستخدمها في Python. يمكنك تحقيق ذلك باستخدام حلقة for للانتقال عبر كل حرف في السلسلة الأصلية وتطبيق عملية التشفير عليه. هناك بعض الاختلافات الصغيرة في الكتابة بين اللغتين. هذه نسخة تقريبية من كيفية تحقيق ذلك في C#:

csharp
string CHARACTER = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890-=+_)(*&^%$#@!?><|:;}{]["; string translated = ""; foreach (char uniqueKey in message) { if (CHARACTER.Contains(uniqueKey)) { int num = CHARACTER.IndexOf(uniqueKey); if (mode == "encrypt") { num += key; } else if (mode == "decrypt") { num -= key; } if (num >= CHARACTER.Length) { num -= CHARACTER.Length; } else if (num < 0) { num += CHARACTER.Length; } translated += CHARACTER[num]; } else { translated += uniqueKey; } }

يرجى ملاحظة أنه يجب عليك تغيير message و mode و key ليتناسبوا مع المتغيرات والمتغيرات الفعلية التي تستخدمها في تطبيقك الفعلي.

المزيد من المعلومات

في الكود السابق، يتم تشفير النص message باستخدام متغير key ووضع mode (encrypt أو decrypt). تتم هذه العملية عن طريق تحويل كل حرف من النص الأصلي إلى حرف مشفر باستخدام قيمة key للتحرك في النص CHARACTER المحدد.

  • يتم استخدام foreach للتحقق من كل حرف في message.
  • يتم التحقق من وجود الحرف في CHARACTER باستخدام Contains، ثم يتم الحصول على الموضع الصحيح للحرف باستخدام IndexOf.
  • يتم تطبيق عملية التشفير أو فك التشفير على الحرف الموجود بناءً على قيمة key و mode.
  • يتم التعامل مع حالة تجاوز نهاية النص CHARACTER باستخدام حسابات بسيطة للتأكد من البقاء ضمن نطاق النص.

هذا الكود يعتمد على مصفوفة CHARACTER التي تحتوي على الحروف المسموح بها في النص الأصلي والتي يمكن تشفيرها. يجب أن تكون هذه المصفوفة متطابقة تمامًا مع المصفوفة التي كنت تستخدمها في النسخة السابقة من Python لتحقيق نفس النتائج.

مقالات ذات صلة

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!