شاطر
اذهب الى الأسفل
عدد المساهمات : 134
تاريخ التسجيل : 08/10/2012
معاينة صفحة البيانات الشخصي للعضو

تشفير النصوص فى الفيجوال بيسك دوت نت

في السبت أكتوبر 13, 2012 8:12 am
كم من مُستخدمي Dot Not Framework يعتمودن على خواص Settings و Registery Keys للتعامل مع القيم من حفظ وإستدعاء. ولكن بكل أسف مُفتقدين "الأمان" للحفاظ على سرية تلك القيم التي من المُمكن جدا أن تكون بيانات إتصالات خادمك الخاص وكلمات المرور وغيرها.

فبكل بساطة إذا إطلع أحداً على ملف الـ Settings الخاص بمشروعك سوف يستمتع بالإطلاع على جميع قيم إعداداتك الخاصة التي قُمت بتسجيلها. ذلك ما دعاني للتفكير فى إنشاء خدمة ذو فكرة جديدة توفر عملية تشفير مُعقدة للنصوص مما يوفر لنا نوع من الإطمئنان وبالفعل إنتهيت بفضل الله من تنفيذ الأمر من الألف إلى الياء بأفكار جديدة إستغرقت فترة لا بأس بها حتى توصلت لما أردت تنفيذه, وها أنا اليوم أتيت لكم بـ Private Text Encryption وهو ليس أكثر من ملف DLL صغير جدا وبسيط جدا ولكنه ليس بسهل!., لنتعرف معاً عليه:

لقد قُمت بإختيار إسم Private Text Encryption ليس لأنه مُجرد أسم, ولكنه بالفعل يعي المفهوم تماماً مما سوف يتضح إليك بعد الإطلاع على إمكانيات الـ DLL التالية:
1-نص مُشفر جديد فى كل مُحاولة للتشفير:

يعني ذلك أنك لو أدخلت نص وقمت بالنقر على زر التشفير سوف تجد بعد كل نقرة نص مُشفر مُختلف عما قبله والكل يعودون لنتيجة واحدة عند الفك.
2-حاسبك الوحيد فى العالم القادر على فك التشفير:

إذا قمت بتفشير نص ما وقمت بتمريره إلى أحد الأصداقاء ليقوم بتشفيره إليك سوف تُفاجأ بأن الـ DLL غير قادر على فك التشفير حيث أن الحاسب الذي يتم فك التشفير عليه ليس هو من تم التشفير عليه. ذلك سوف يُعطي الجميع الثقة فى الإستخدام حيث إذا كنا جميعاً أعضاء مُستخدمي VB4ARAB نستخدم الـ DLL لن يستطيع أحدنا فك نص مُشفر للأخر والعكس صحيح.
3-أنا نفسي لن أستطيع فك التشفير!!:

هذا هو الجديد . مع أني أنا صاحب الفكرة (الموضوع منقول) وكذلك من قمت بكتابة الكود من الألف إلى الياء بل وكل حرف من حروف نافذة الكود إلا أنني غير قادر على فك التشفير.... نعم, لقد قمت بالإعتماد على ثغرات شديدة المرونة تجعل الكود فقط هو من يُمكنه أن يقوم بفك النص المُشفر. إذا سألتني كيف؟... سأرد عليك: هذه هي الفكرة التي أخذت وقت من تفكيري, والحمد لله توصلت.
الـ DLL يحتوي على Class واحد فقط والـ Class لا يحتوي سوى على دالتين فقط من نوع String الأولى وهي EncryptText وتحتوي على معامل واحد فقط من نوع String ويُمرر إليه النص المُراد تشفيره وتعود بالنص المُشفر. وأما الدالة الثانية وهي DecryptText وتحتوي أيضاً على مُعامل واحد فقط من نوع String يُمرر إليه النص المُشفر وتعود بالفك.


الكود:
Imports PrivateTextEncryption
Public Class frmMain
    Dim PrivateText As New PrivateTextEncryption.PrivateTextEnc
    Private Sub btnEncryption_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEncryption.Click
        txtEncryption.Text = PrivateText.EncryptText(txtRealText.Text)
    End Sub
    Private Sub btnDecrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDecrypt.Click
        txtDecryptedText.Text = PrivateText.DecryptText(txtEncryptedText.Text)
    End Sub
End Class

الرجوع الى أعلى الصفحة
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى