vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Configuration-Settings im Roaming-Profile speichern 
Autor: ModeratorFZelle (Moderator)
Datum: 15.08.12 00:05

Da willst du etwas machen, was MS so nicht vorgesehen hat.

Du kannst in den app.config zwar den Application Teil per section.SectionInformation.ProtectSection verschlüsseln ( einmal verschlüsselt ist das transparent ), aber nicht den User Teil.
Da der aber im privaten roamingverzeichnis des Users ist, geht MS davon aus das er auch nicht verschlüsselt werden muss.

Was du also machen musst ist:

1. Umstellen der Eigenschaften auf Bereich=Benutzer und setzen von Roaming=true in den Eigenschaften.
2. Erstelle ein Settings.Extended.vb, da die Settings eine Partielle Klasse ist, lässt sie sich erweitern.
3. Bennene deine Settings in Crypted... um.
3. Erstelle dir Properties (Username,Password) die beim lesen die orginalstrings entschlüsseln und beim schreiben Verschlüsseln.
Fertig.
 
Imports System.Security.Cryptography
Imports System.IO
Imports System.Text
 
Namespace My
    Partial Friend NotInheritable Class MySettings
        Protected key As String = "&/?@*>:>"
 
        Public Property UserName() As String
            Get
                Return decryptString(Me.CryptedUsername)
            End Get
            Set(ByVal value As String)
                Me.CryptedUsername = encryptString(value)
            End Set
        End Property
        Public Property Password() As String
            Get
                Return decryptString(Me.CryptedPassword)
            End Get
            Set(ByVal value As String)
                Me.CryptedPassword = encryptString(value)
            End Set
        End Property
 
 
 
        Public Sub New()
            'constructor
        End Sub
 
        Public Function encryptString(ByVal strtext As String) As String
            Return Encrypt(strtext, key)
        End Function
 
        Public Function decryptString(ByVal strtext As String) As String
            Return Decrypt(strtext, key)
        End Function
 
        'The function used to encrypt the text
        Private Function Encrypt(ByVal strText As String, ByVal strEncrKey _
                 As String) As String
            Dim byKey() As Byte = {}
            Dim IV() As Byte = {&H12, &H34, &H56, &H78, &H90, &HAB, &HCD, &HEF}
 
            Try
                byKey = System.Text.Encoding.UTF8.GetBytes(Left(strEncrKey, 8))
 
                Dim des As New DESCryptoServiceProvider()
                Dim inputByteArray() As Byte = Encoding.UTF8.GetBytes(strText)
                Dim ms As New MemoryStream()
                Dim cs As New CryptoStream(ms, des.CreateEncryptor(byKey, IV), _
                  CryptoStreamMode.Write)
                cs.Write(inputByteArray, 0, inputByteArray.Length)
                cs.FlushFinalBlock()
                Return Convert.ToBase64String(ms.ToArray())
 
            Catch ex As Exception
                Return ex.Message
            End Try
 
        End Function
 
        'The function used to decrypt the text
        Private Function Decrypt(ByVal strText As String, ByVal sDecrKey _
                   As String) As String
            Dim byKey() As Byte = {}
            Dim IV() As Byte = {&H12, &H34, &H56, &H78, &H90, &HAB, &HCD, &HEF}
            Dim inputByteArray(strText.Length) As Byte
 
            Try
                byKey = System.Text.Encoding.UTF8.GetBytes(Left(sDecrKey, 8))
                Dim des As New DESCryptoServiceProvider()
                inputByteArray = Convert.FromBase64String(strText)
                Dim ms As New MemoryStream()
                Dim cs As New CryptoStream(ms, des.CreateDecryptor(byKey, IV), _
                  CryptoStreamMode.Write)
 
                cs.Write(inputByteArray, 0, inputByteArray.Length)
                cs.FlushFinalBlock()
                Dim encoding As System.Text.Encoding = System.Text.Encoding.UTF8
 
                Return encoding.GetString(ms.ToArray())
 
            Catch ex As Exception
                Return ex.Message
            End Try
        End Function
    End Class
End Namespace
Die Klassen sind von http://www.wizbay.com/post/2010/09/10/Encrypt-and-Decrypt-string-in-VBNet.aspx

Den Applicationteil kannst du mit http://www.emmet-gray.com/Articles/EncryptConnectionStrings.htm machen.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Configuration-Settings im Roaming-Profile speichern3.335Achim_Schneider14.08.12 14:22
Re: Configuration-Settings im Roaming-Profile speichern2.779ModeratorFZelle15.08.12 00:05
Re: Configuration-Settings im Roaming-Profile speichern2.508Achim_Schneider15.08.12 09:27
Re: Configuration-Settings im Roaming-Profile speichern2.523Achim_Schneider15.08.12 11:24

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel