سؤال

آسف لمواصلة طرح العديد من الأسئلة ، لكن يبدو أنكم دائمًا لطيفون ومفيدون ...

أحتاج إلى القيام ببعض التطبيقات التي تستورد البيانات من ملف. على سبيل المثال ، يقوم المستخدم بتحديد ملف واحد ويقوم التطبيق باستيراد بعض البيانات إلى قاعدة البيانات.

لكنني كنت أفكر ، وهذا النوع من التطبيق يؤدي إلى مشكلة من النزاهة وأصالة الملفات. إذا قام المستخدم بتغيير الملف ، فلا يُسمح للتطبيق باستخدام تلك المعلومات. وإذا لم يكن ملف واحد من مصدر معروف جيدًا ، فلن يتمكن التطبيق من استخدام هذا الملف.

كيف أفعل هذا النوع من الأشياء؟

ملاحظة: أنا أستخدم C#.NET

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

المحلول

يتم توفير المصادقة والنزاهة من خلال التوقيعات الرقمية.

اتبع نصيحة Driis إذا كنت تتحكم في تنسيق الملف.

بالتناوب ، إذا كان الملف XML ، فاستخدم توقيع XML.

باستخدام C#/. Net:

نصائح أخرى

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

يعتمد ذلك على مدى قوتك في هذه الحماية.

على سبيل المثال ، يمكنك الحصول على ملف XML (لقابلية القراءة البشرية) والذي يحتوي على عقدة تجزئة في مكان يحتوي على تجزئة الملف الأصلي (+ملح). يمكن تحديث ذلك بواسطة البرنامج ، ولكن يمكن للمستخدم أن يواجه وقتًا أكثر صعوبة في معرفة معنى هذا المفتاح. عندما يفتح البرنامج الملف ، فإنه يحسب التجزئة ويتحقق مما إذا كان هو نفسه الذي كتب في الملف.

يمكنك حتى اتخاذ خطوة واحدة إلى الأمام واستخدام التوقيعات الرقمية ، ولكن هذا أكثر تعقيدًا.

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