Je crée une application VB.NET pour une classe Calculus en tant que petit projet parallèle. Il nécessite des profils utilisateur enregistrés localement dans les fichiers principaux du programme. J'utilise 2 classes distinctes pour accéder aux profils d'utilisateurs en ce moment.Comment enregistrer des données de profil utilisateur localement et de manière sécurisée dans VB.NET?
La première classe est appelée Config et est utilisée pour manipuler le fichier de configuration de base qui contient les chemins, les paramètres et les noms de profils de documents de cours.
La deuxième classe est appelée Utilisateur et est utilisée pour charger des profils utilisateur à partir d'un répertoire de profil dans lequel les données utilisateur sont enregistrées dans des fichiers texte distincts.
La classe Config récupère les noms d'utilisateur et les chemins de fichier texte du profil utilisateur. Ce chemin de fichier texte est ensuite transmis à un objet Utilisateur qui peut ensuite charger et interpréter le fichier. Désolé, si c'était un peu trop instructif, mais j'ai pensé que cela aiderait à expliquer les choses.
Ma question est de savoir comment formater le fichier de configuration et les fichiers utilisateur afin qu'ils soient suffisamment sécurisés pour que quelqu'un ne puisse pas facilement récupérer ou manipuler des données?
Voici un échantillon de la façon dont je lis les fichiers texte:
Dim userList() As String = {Nothing}
If My.Computer.FileSystem.FileExists(configPath + "config.cfg") Then
Using MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParser(configPath + "config.cfg")
MyReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited
MyReader.Delimiters = New String() {"="}
Dim currentRow As String()
'Loop through all of the fields in the file.'
'If any lines are corrupt, report an error and continue parsing.'
While Not MyReader.EndOfData
Try
currentRow = MyReader.ReadFields()
'interpret data tokens delimited by "=" and new line character here'
Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
MsgBox("Line " & ex.Message & " is invalid. Skipping")
End Try
End While
End Using
End If
Le problème ne lit pas le fichier texte, je ne suis pas sûr comment le sécuriser. Je pensais d'abord analyser le fichier entier pour le traduire de «crypté» en texte, puis l'enregistrer en tant que fichier temporaire que je passerais au code ci-dessus, puis supprimer le fichier immédiatement après. En ce qui concerne le cryptage (est-ce le bon mot pour cela?) Le fichier, je pourrais peut-être décaler chaque caractère en utilisant une clé que je sauvegarderais au début du fichier.
Je suis plus intéressé à enregistrer le fichier en toute sécurité, puis se soucier de ce qu'il pourrait être une surexploitation. C'est plus de pratique que je suppose.
wow merci de poster cet article! Je viens de le lire ... Je pense que je vais essayer mon propre type de cryptage 'rapide'. Mais les techniques qu'il utilisait étaient très instructives. Merci – Dooms101