PDA

View Full Version : Mã hóa file config trong ứng dụng



vmhuong
08-04-2009, 15:24
Tôi đang viết 1 ứng dụng, bây giờ đến lúc đóng gói lại, nhưng nội dung file app.config cứ hiện ra trong trong thư mục cài. Ai chỉ tôi cách mã hóa nội dung này để che giấu địa chỉ server không

serivn
08-04-2009, 19:12
Tôi đang viết 1 ứng dụng, bây giờ đến lúc đóng gói lại, nhưng nội dung file app.config cứ hiện ra trong trong thư mục cài. Ai chỉ tôi cách mã hóa nội dung này để che giấu địa chỉ server không

Mình thấy câu hỏi của bạn đã được post trên ddth rồi đó!! Bạn search là thấy liền.
Hoặc bạn vào MSDN search cụm từ "configuration section" là thấy rất nhiều các bài viết liên quan tới vấn đề này!!

Thân!!:)

FatherOfBill
08-04-2009, 22:35
Bạn nghiên cứu đoạn code để biết cách mã hóa và giải mã xâu ký tự


Public Function Encrypt(ByVal i_strEncrypt As String) As String
If i_strEncrypt.Trim = "" Then
Return ""
Else
Dim v_arrKey() As Byte
Dim v_arrEncrypt(CInt(i_strEncrypt.Length)) As Byte
Dim i_blUseHashing As Boolean = True
Try
v_arrEncrypt = UTF8Encoding.UTF8.GetBytes(i_strEncrypt)
Catch v_ex As Exception
MessageBoxInfo(v_ex.Message)
End Try
Dim v_strKey As String = "ddth#"
If i_blUseHashing Then
Dim hashmd5 As New MD5CryptoServiceProvider()
v_arrKey = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(v_s trKey))
hashmd5.Clear()
Else
v_arrKey = UTF8Encoding.UTF8.GetBytes(v_strKey)
End If
Dim tdes As New TripleDESCryptoServiceProvider()
tdes.Key = v_arrKey
tdes.Mode = CipherMode.ECB
tdes.Padding = PaddingMode.PKCS7

Dim cTransform As ICryptoTransform = tdes.CreateEncryptor()
Dim resultArray As Byte() = cTransform.TransformFinalBlock(v_arrEncrypt, 0, v_arrEncrypt.Length)
tdes.Clear()
Return Convert.ToBase64String(resultArray, 0, resultArray.Length)
End If
End Function

'ByVal i_blUseHashing As Boolean
Public Shared Function Decrypt(ByVal cipherString As String) As String
Dim v_arrKey() As Byte
Dim i_blUseHashing As Boolean = True
If cipherString.Trim = "" Then
Return ""
Else
Dim v_arrEncrypt(CInt(cipherString.Length)) As Byte
Try
v_arrEncrypt = Convert.FromBase64String(cipherString)
Dim v_strKey As String = "#ddth#"
If i_blUseHashing Then
Dim hashmd5 As New MD5CryptoServiceProvider()
v_arrKey = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(v_s trKey))
hashmd5.Clear()
Else
v_arrKey = UTF8Encoding.UTF8.GetBytes(v_strKey)
End If
Dim tdes As New TripleDESCryptoServiceProvider()
tdes.Key = v_arrKey
tdes.Mode = CipherMode.ECB
tdes.Padding = PaddingMode.PKCS7

Dim cTransform As ICryptoTransform = tdes.CreateDecryptor()
Dim resultArray As Byte() = cTransform.TransformFinalBlock(v_arrEncrypt, 0, v_arrEncrypt.Length)
tdes.Clear()
Return UTF8Encoding.UTF8.GetString(resultArray)
Catch v_ex As Exception
'MessageBoxInfo("Thông tin mã hóa không đúng")
Return ""
End Try
End If
End Function