سؤال

أبحث عن طريقة لتشفير السلسلة في C # وفك تشفيرها باستخدام JavaScript. JavaScript في هذه الحالة هي لغة نصية للنظام الداخلي، لذلك يجب ألا تقلق بشأن الأشخاص الذين يصلون إلى مفتاح / كلمة المرور الخاصة التي ستكون مطلوبة لفك التشفير.

البحث عبر الإنترنت عن الحل يبدو أنه يجب أن يقوم تشفير AES بالخدعة. لقد نظرت إلى slowaes و rijndaelmanaged الحل, ، ولكن لم يحظى بالحظ في العمل.

لقد استخدمت C # Code التي قدمت الجبن واستلمت نص تشفير متطابق. ولكن عندما حاولت استخدام Slowaes لتشفير نفس القطعة التي تلقيتها تشفير مختلفة تماما.

var testString = new Array("w", "a", "t", "s", "o", "n", "?");
var test = slowAES.encrypt(testString, slowAES.modeOfOperation.CBC, "12345678901234567890123456789012", slowAES.aes.keySize.SIZE_256, new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
alert(test.cipher);

هل يمكن لشخص ما أن يشيرني إلى الاتجاه الصحيح؟ لا يهمني الطريقة، طالما يمكنني تحقيق النتائج. هدفي هو أن تأخذ عنوان URL على سبيل المثال:

www.test.com/clientid=123.

استخدم .NET (C #) لتشفيره لتبدو

www.test.com/clientid=asdf؛lkjsxd؛lkjq934857u9duhfgkjhgaldkjfh.

ثم استخدم JavaScript لتحويله إلى

www.test.com/clientid=123.

شكرا، itrushn.

هل كانت مفيدة؟

المحلول 3

لقد تمكنت من حل مشكلتي باستخدام تشفير RC4. يمكنك الحصول على مزيد من المعلومات حول التنفيذ على بلدي مقالات.

نصائح أخرى

تحدث عمليات التشفير / فك التشفير على البيانات الثنائية. لذلك، يجب أن تحافظ على أن البيانات الثنائية بين C # و JavaScript. من المحتمل أن ترميز الإخراج كسلسلة أساسية أو ست عشرية هي أفضل طريقة للقيام بذلك.

الخيار 1

إذا كانت نيتك الوحيدة هي تأمين البيانات الحساسة بين الخادم والعميل التي هي مشكلة حلها، فاستخدم SSL.

الخيار 2

  • بالنظر إلى URL www.test.com/clientid=123

  • استخدم .NET (C #) لتشفيره والإشارة إلى موقع مختلف: www.mywebserver.com/forward.aspx؟url=asdf؛lkjsxd؛lkjsxd؛lkjq934857u9duhfgkjhgalsdkjfh

  • ثم في صفحة Forward.aspx، فك تشفير وإعادة توجيه إلى www.test.com/clientid=123

  • يقوم العميل بعد ذلك بتتبع إعادة توجيه HTTP و Perst-o. لا مفاتيح مشتركة، وسهلة التنفيذ، إنها تعمل فقط.

ملحوظة:

بالنسبة لحلك الأصلي، لا يمكن القيام بذلك بشكل آمن بدون كوم أو بعض الوسائل الأخرى للخبر. السبب في أنني أقول أن هذا هو أن JScript ستحتاج إلى الوصول إلى زوج رئيسي عام / خاص، على حد علمي، غير ممكن. بدون مفتاح عام / خاص، سيطلب من الخادم مشاركة مفتاح متماثل مع العميل. مع عدم وجود أي وسيلة لتحويل هذا المفتاح بشكل آمن، لم تمنح البيانات، فقط تعويثها.

أعتقد أن أبسط نهج سيكون استخدام SSL، تليها عنوان URL لإعادة توجيه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top