سؤال

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

والتي طريقة التشفير يعمل بشكل أفضل مع ProtoBuf?أنا أساسا التسلسلية مجموعة من الكيانات البيانات إلى ملف ، ثم تسلسل من الملف إلى مجموعات.اعتقد افضل مكان لوضع التشفير سيكون في FileStream على القراءة/الكتابة.

البيانات سوف تحتوي على ني أرقام, أسماء وعناوين, هذه يجب أن تكون آمنة.أي فكرة أي شخص ؟

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

المحلول

وأعتقد أنك على الطريق الصحيح. يجب عليك فقط أن تكون قادرة على فعل شيء مثل:

ICryptoTransform encryptor = ...
Stream encStream = new CryptoStream(outputFileStream, encryptor, CryptoStreamMode.Write);
Serializer.Serialize(encStream, obj);
encStream.FlushFinalBlock()
encStream.Close();

ICryptoTransform decryptor = ...
Stream decStream = new CryptoStream(inputputFileStream, decryptor, CryptoStreamMode.Read);
Serializer.Deserialize<Type>(decStream);
decStream.FlushFinalBlock()
decStream.Close();

لأساسيات إطار التشفير. NET (بما في ذلك كيفية الحصول على الكائنات ICryptoTransform، انظر أسئلة أخرى مثل <وأ href = "https://stackoverflow.com/questions/845623/whats-the-best-way-to -encrypt-قصيرة سلاسل في شبكة "> ما هي أفضل طريقة لتشفير سلاسل قصيرة في. NET؟ .

نصائح أخرى

وثمة خيار آخر هو في الواقع تشفير كامل المجلد حيث يتم تخزين البيانات عن طريق تركيب المنظومة عامل تصفية نظام الملفات.الميزة هنا هي أن:

  1. التطبيق الخاص بك هو رمز الملحد التشفير و التشفير وسيتم ذلك في التعليمات البرمجية الأصلية.
  2. منذ التشفير يتم في التعليمات البرمجية الأصلية ، فإنه سيكون أسرع
  3. منذ التشفير هو ليس داخل التعليمات البرمجية المدارة, انه من الصعب عكس مهندس معرفة المفاتيح الخاصة بك, الأملاح, الخ.

وبطبيعة الحال فإن العيب (بالنسبة لأولئك الذين لا تكتب ج على أي حال) هو أنه لا يمكن كتابتها في C#.

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