الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

معلومة/ تشفير نص الاتصال

بدأه SOLO.NET في 14 أبريل 2014 · 4 رد · 1,201 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

 

لتشفير نص الاتصال بقواعد البيانات و/او اى Section  بداخل AppConfig.Exe.Config  الذى نستخدمه ويرفق بالمشروع ويتم ارفاق نص الاتصال به لتعديله حسب بيانات العميل وحيث انه قد يحوى كلمة سر وبيانات لا نريدها ظاهرة للعيان

قد تحتاج لاضافة مرجع لــSystem.Configuration

ومن ثم عمل Imports System.Configuration

الكلاسConfiguration نجد به الميثود ProtectSection  والذى يقوم بتشفير Section  المراد بواسطة خوارزمين هما

 

  • DPAPIProtectedConfigurationProvider
  • RSAProtectedConfigurationProvider

الاخير هو المزود الافتراضى بتمرير Nothing  للميثود السابق ذكره

 

لنفرض ان لدينا نص الاتصال هكذا بملف AppConfig.Exe.Config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
    </configSections>
    <connectionStrings>
        <add name="ChangeAndEncryptConnectionString.My.MySettings.Conn"
            connectionString="Data Source=.\SQL2012;Initial Catalog=Test;Integrated Security=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client" />
    </startup>
</configuration>

فاذا اردنا تشفيره ولاتقلق بشأن فك التشفير  حيث سيتم بشكل تلقائى ويمكن قراءة البيانات كانها غير مشفرة

Dim config As Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)

        config.ConnectionStrings.SectionInformation.ProtectSection(Nothing)

        config.Save(ConfigurationSaveMode.Full, True)

لقراءة او تعديل نص الاتصال

        config.ConnectionStrings.ConnectionStrings.Item("ChangeAndEncryptConnectionString.My.MySettings.Conn").ConnectionString = "Data Source=-\SQL2012;Initial Catalog=Test;Integrated Security=False"

للمزيد  http://msdn.microsoft.com/en-us/library/system.configuration.sectioninformation.aspx

تم تعديل هذه المشاركة بواسطة SOLO.NET في 14 أبريل 2014 في 03:09

1

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#2

بارك الله فيك أخي الغالي Solo.Net

ولكن اذا قمنا بكتابه سلسلة الاتصال داخل application setting بهذا الشكل الموضح بالصورة ليكون نوع String و Scope يكون User

لاحظ ....

سينتج عن هذه العمليه مقطع جديد داخل ملف App.Config كما تشاهد

السؤال هنا

كيف يتم تشفير هذا المقطع وليس مقطع سلسة الاتصال Connection String

 

post-46243-0-11094700-1397449525_thumb.p

 

post-46243-0-04998000-1397449584_thumb.p

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#3

بارك الله فيك أخي الغالي Solo.Net

ولكن اذا قمنا بكتابه سلسلة الاتصال داخل application setting بهذا الشكل الموضح بالصورة ليكون نوع String و Scope يكون User

لاحظ ....

سينتج عن هذه العمليه مقطع جديد داخل ملف App.Config كما تشاهد

السؤال هنا

كيف يتم تشفير هذا المقطع وليس مقطع سلسة الاتصال Connection String

 

post-46243-0-11094700-1397449525_thumb.p

 

post-46243-0-04998000-1397449584_thumb.p

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#4
SOLO.NET كتب:

السلام عليكم

 

لتشفير نص الاتصال بقواعد البيانات و/او اى Section  بداخل AppConfig.Exe.Config  الذى نستخدمه ويرفق بالمشروع ويتم ارفاق نص الاتصال به لتعديله حسب بيانات العميل وحيث انه قد يحوى كلمة سر وبيانات لا نريدها ظاهرة للعيان

قد تحتاج لاضافة مرجع لــSystem.Configuration

ومن ثم عمل Imports System.Configuration

الكلاسConfiguration نجد به الميثود ProtectSection  والذى يقوم بتشفير Section  المراد بواسطة خوارزمين هما

 

  • DPAPIProtectedConfigurationProvider
  • RSAProtectedConfigurationProvider

الاخير هو المزود الافتراضى بتمرير Nothing  للميثود السابق ذكره

 

لنفرض ان لدينا نص الاتصال هكذا بملف AppConfig.Exe.Config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
    </configSections>
    <connectionStrings>
        <add name="ChangeAndEncryptConnectionString.My.MySettings.Conn"
            connectionString="Data Source=.\SQL2012;Initial Catalog=Test;Integrated Security=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client" />
    </startup>
</configuration>

فاذا اردنا تشفيره ولاتقلق بشأن فك التشفير  حيث سيتم بشكل تلقائى ويمكن قراءة البيانات كانها غير مشفرة

Dim config As Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)

        config.ConnectionStrings.SectionInformation.ProtectSection(Nothing)

        config.Save(ConfigurationSaveMode.Full, True)

لقراءة او تعديل نص الاتصال

        config.ConnectionStrings.ConnectionStrings.Item("ChangeAndEncryptConnectionString.My.MySettings.Conn").ConnectionString = "Data Source=-\SQL2012;Initial Catalog=Test;Integrated Security=False"

للمزيد  http://msdn.microsoft.com/en-us/library/system.configuration.sectioninformation.aspx

 

مشكور اخي الكريم ،، ولكن ياريت توضيح اكثر أو عمل مثال مصغر وشكرا مره أخرى .

#5

الاخ محمد فؤاد

حاول الوصول الى المقطع المراد تشفيره بالفئة ConfigurationSection

Dim config As Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
Dim protectedSection As ConfigurationSection = config.GetSection("userSettings/ChangeConnectionstring.My.MySettings")
' handle the exption and make sure its not null or readonly or locked
            protectedSection.SectionInformation.ProtectSection(Nothing)
         
            protectedSection.SectionInformation.ForceSave = True
            config.Save(ConfigurationSaveMode.Full)

تم تعديل هذه المشاركة بواسطة SOLO.NET في 14 أبريل 2014 في 16:42

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

مواضيع مشابهة