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

تشفير Connection String

بدأه محمد فؤاد تركي في 24 أكتوبر 2012 · 6 رد · 2,375 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السادة الزملاء

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

أثناء بحثي في المنتدي عن طريقة لتشفير سلسلة الاتصال "Connection String" الخاصة بالبرنامج وجدت هذه المشاركة القيمة تشفير Connection String في منتدي ASP.net و استفدت بالفعل من هذه المشاركة

واستطعت عمل التالي في المثال المرفق

1- كتابة سلسلة الاتصال ثم تشفيرها

post-46243-093227100 1351063452_thumb.jp

2- حفظ السلسلة المشفرة في ملف XML داخل مسار المشروع

post-46243-058637300 1351063462_thumb.jp

3- عند محاولة استرجاع السلسلة المشفرة لا تستطيع SQLcon قراءة النص المشفرة وقد أشار العضو في المشاركة عن كيفية قراءة SQLcon للنص المشرف لكن من الواضح ان الكود المكتوب

يخص ASP.net وليس windows application ويعطيني خطأ أثناء استرجاعها

post-46243-006856500 1351063474_thumb.jp

< appSettings >
< add key = "ConnectionString"
value = "ZGF0YSBzb3VyY2U9Llx2c2RvdG5ldDtpbml0aWFsIA0KICAgY2F"/ >
< /appSettings >

// This method is used to decrypt the connection string
private string DecryptConnectionString()
{
Byte[] b = Convert.FromBase64String(ConfigurationSettings.AppSettings["ConnectionString"]);
string decryptedConnectionString = System.Text.ASCIIEncoding.ASCII.GetString(b);
return decryptedConnectionString;
}

لذلك اتمني مساعدتي في هذا الامر

وشكرا للجميع

وكل عام وأنتم بخير

Encrypt-Decrypt-connection string.rar

المرفقات
1.jpg2.jpg3.jpg

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 24 أكتوبر 2012 في 11:06

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#2

انا استعمل نفس الطريقة تقريبا ولكن على txt file not on XML (هي نفسها)

ما ينفص في برنامجك هو عندما تفرا ال encrypted xml يجب عليك اولا ان Decrypt ثم تضعه في sqlconnection

add a function

 Private Function decryptedConnectionString(ByVal text_to_decrypt As String) As String
        Dim b As Byte() = Convert.FromBase64String(TextBox2.Text)
        decryptedConnectionString = System.Text.ASCIIEncoding.ASCII.GetString(b)
        return decryptedConnectionString
    End Function

in decrypt button

Private Sub Button2_Click( ByVal sender As System.Object,  ByVal e As System.EventArgs) Handles Button2.Click
        TextBox3.Text = decryptedConnectionString(TextBox2.Text)
        Dim conn As New SqlClient.SqlConnection(TextBox3.Text)
End Sub
#3

بارك الله فيك اخي الكريم

سمير ابراهيم

حضرتك قمت بفك جملة الاتصال من TextBox2.Text ثم وضعت السلسلة التي تم فكها داخل TextBox3.text ثم قامت conn بقراءة السلسلة بعد فكها من من داخل TextBox3.text

لكن انا اريد conn ان تقرأ السلسلة من ملف txt file أو ملف XML مباشرة بعد فكها وليس من TextBox3.text

كما في المثال

Public sqlcon As New SqlClient.SqlConnection(FileCreate_Set_Get)

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 24 أكتوبر 2012 في 16:57

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#4
محمد فؤاد تركي كتب:

لكن انا اريد conn ان تقرأ السلسلة من ملف txt file أو ملف XML مباشرة بعد فكها وليس من TextBox3.text

اهلا فيك و تكرم :)

استعمل هذا الكود

    Private Sub Button2_Click( ByVal sender As System.Object,  ByVal e As System.EventArgs) Handles Button2.Click
        'TextBox3.Text = decryptedConnectionString(TextBox2.Text)
        Dim sr As New StreamReader(Application.StartupPath & "\" & "ConStr.XML")
        Dim connstring as String = decryptedConnectionString(sr.ReadLine)
        'MsgBox(connstring)
        Dim conn As New SqlClient.SqlConnection(connstring )
    End Sub

تم تعديل هذه المشاركة بواسطة سمير ابراهيم في 24 أكتوبر 2012 في 17:14

#5

لم يعمل

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#6
محمد فؤاد تركي كتب:

لم يعمل

خطا مطبعي :)

Imports System.Data
Imports System.IO
Public Class Form1

    ' This method is used to encrypt the connection string
    Private Function EncryptConnectionString(ByVal connectionString As String) As String
        Dim b As [Byte]() = System.Text.ASCIIEncoding.ASCII.GetBytes(connectionString)
        Dim encryptedConnectionString As String = Convert.ToBase64String(b)
        Return encryptedConnectionString
    End Function
    Private Function decryptedConnectionString(ByVal text_to_decrypt As String) As String
        Dim b As Byte() = Convert.FromBase64String(text_to_decrypt)
        decryptedConnectionString = System.Text.ASCIIEncoding.ASCII.GetString(b)
        return decryptedConnectionString
    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        TextBox2.Text = EncryptConnectionString(TextBox1.Text)
    End Sub

    Function FileCreate_Set_Get() As String
        Dim connstring As String = Nothing
        If My.Computer.FileSystem.FileExists(Application.StartupPath & "\" & "ConStr.XML") Then
            Dim sr As New StreamReader(Application.StartupPath & "\" & "ConStr.XML")
            connstring = sr.ReadLine

        Else
            Dim Str As New FileStream(Application.StartupPath & "\" & "ConStr.XML", FileMode.Create)
            Dim Sw As New StreamWriter(Str)
            Sw.WriteLine(TextBox2.Text)

            Sw.Close()
            Str.Close()
            FileCreate_Set_Get()
        End If
        Return connstring
    End Function

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        MsgBox(FileCreate_Set_Get())
    End Sub

    Private Sub Button2_Click( ByVal sender As System.Object,  ByVal e As System.EventArgs) Handles Button2.Click
        Dim conn_decrypted = decryptedConnectionString(FileCreate_Set_Get())
        MsgBox(conn_decrypted)
        Dim sqlconn As New SqlClient.SqlConnection(conn_decrypted)
    End Sub
End Class
1
#7

بارك الله فيك

certifiedj.jpg

 

 

Image Hosted by ImageShack.us

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