منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
Private Text Encryption -خدمة للمبرمجين في جديد عالم التشفير- - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184)
+--- الموضوع : Private Text Encryption -خدمة للمبرمجين في جديد عالم التشفير- (/showthread.php?tid=4723)



Private Text Encryption -خدمة للمبرمجين في جديد عالم التشفير- - RaggiTech - 01-10-12

كاتب الموضوع : Programmation




التشـــفير الخــــاص للنصـــوص
حمـــــــــــــاية أســـــــــــــــرارك


الســلام عليكم ورحمة الله وبركاته

إخواني الأعضــاء الكرام, كيف حال الجميع؟
أسـأل الله العظيم أن تكونوا في أفضل حال وأتم عافية.

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

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

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

1-نص مُشفر جديد فى كل مُحاولة للتشفير:

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

2-حاسبك الوحيد فى العالم القادر على فك التشفير:

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

3-أنا نفسي لن أستطيع فك التشفير!!:

هذا هو الجديد
Wink. مع أني أنا صاحب الفكرة وكذلك من قمت بكتابة الكود من الألف إلى الياء بل وكل حرف من حروف نافذة الكود إلا أنني غير قادر على فك التشفير.... نعم, لقد قمت بالإعتماد على ثغرات شديدة المرونة تجعل الكود فقط هو من يُمكنه أن يقوم بفك النص المُشفر. إذا سألتني كيف؟... سأرد عليك: هذه هي الفكرة التي أخذت وقت من تفكيري, والحمد لله توصلت.

___________________________________________

الـ DLL يحتوي على Class واحد فقط والـ Class لا يحتوي سوى على دالتين فقط من نوع String الأولى وهي EncryptText وتحتوي على معامل واحد فقط من نوع String ويُمرر إليه النص المُراد تشفيره وتعود بالنص المُشفر. وأما الدالة الثانية وهي DecryptText وتحتوي أيضاً على مُعامل واحد فقط من نوع String يُمرر إليه النص المُشفر وتعود بالفك.


Download PrivateTextEncryption DLL

وهــذا مثــــال






كود :
[COLOR=#000000][COLOR=#0000bb]Imports PrivateTextEncryption
[/COLOR][color=#007700]Public Class [/color][COLOR=#0000bb]frmMain
    Dim PrivateText [/COLOR][color=#007700]As New [/color][color=#0000bb]PrivateTextEncryption[/color][color=#007700].[/color][COLOR=#0000bb]PrivateTextEnc
    [/COLOR][color=#007700]Private [/color][color=#0000bb]Sub btnEncryption_Click[/color][color=#007700]([/color][color=#0000bb]ByVal sender [/color][color=#007700]As [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]Object[/color][color=#007700], [/color][color=#0000bb]ByVal e [/color][color=#007700]As [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]EventArgs[/color][color=#007700]) [/color][color=#0000bb]Handles btnEncryption[/color][color=#007700].[/color][COLOR=#0000bb]Click
        txtEncryption[/COLOR][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#0000bb]PrivateText[/color][color=#007700].[/color][color=#0000bb]EncryptText[/color][color=#007700]([/color][color=#0000bb]txtRealText[/color][color=#007700].[/color][color=#0000bb]Text[/color][COLOR=#007700])
    [/COLOR][COLOR=#0000bb]End Sub
    [/COLOR][color=#007700]Private [/color][color=#0000bb]Sub btnDecrypt_Click[/color][color=#007700]([/color][color=#0000bb]ByVal sender [/color][color=#007700]As [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]Object[/color][color=#007700], [/color][color=#0000bb]ByVal e [/color][color=#007700]As [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]EventArgs[/color][color=#007700]) [/color][color=#0000bb]Handles btnDecrypt[/color][color=#007700].[/color][COLOR=#0000bb]Click
        txtDecryptedText[/COLOR][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#0000bb]PrivateText[/color][color=#007700].[/color][color=#0000bb]DecryptText[/color][color=#007700]([/color][color=#0000bb]txtEncryptedText[/color][color=#007700].[/color][color=#0000bb]Text[/color][COLOR=#007700])
    [/COLOR][COLOR=#0000bb]End Sub
End [/COLOR][COLOR=#007700]Class  
[/COLOR][/COLOR]



Download VS2010 Example


ملحوظة هامة: قد يطلب البعض الـ Source Code الخاص بالملف ولكني سأعتذر الغاية من نشر الموضوع هنا هو فقط أن أشعر بأني حققت إليك أي نوع من أنواع الأفادة والمُساعدة ليس أكثر فإذا أردت إستخدام الملف فها هو بين يديك مدى الحياة, أما إذا كُنت تبحث عن الـ Source Code فبكل بساطة يُمكنك إعتبار هذا المقال الفقير غير موجود وتصفح موضوعات المنتدى الغنية.


أتمنى أن يستفيد الجميع من الكــلاس, وتتقبلوا هديتي المتواضعة. وإن كان هناك أي إستفسار أنا جاهز.

ولا تنســـونا من صالح دعائكم

والســلام عليكم ورحمة الله وبركاته



RE: Private Text Encryption -خدمة للمبرمجين في جديد عالم التشفير- - سعود - 07-05-20

بارك الله بصاحب الموضوع
سبب اضافتي لهذه المشاركة هو تنسيق  الكود فيه لخبطة فاحببت اضافة الكود من دون وسوم bbcode
PHP كود :
Imports PrivateTextEncryption
Public Class frmMain
    Dim PrivateText 
As New PrivateTextEncryption.PrivateTextEnc
    Private Sub btnEncryption_Click
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles btnEncryption.Click
        txtEncryption
.Text PrivateText.EncryptText(txtRealText.Text)
 
   End Sub
    Private Sub btnDecrypt_Click
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles btnDecrypt.Click
        txtDecryptedText
.Text PrivateText.DecryptText(txtEncryptedText.Text)
 
   End Sub
End 
Class