簡體   English   中英

我應該如何在VB.NET中本地安全地保存用戶配置文件數據?

[英]How should I save user profile data locally and securely in VB.NET?

我正在為Calculus類創建一個VB.NET應用程序,作為一個小項目。 它要求將用戶配置文件本地保存在程序的主文件中。 我現在使用2個單獨的類來訪問用戶個人資料。

第一類稱為Config ,它用於操作基本的config文件,該文件包含課程文檔路徑,設置和用戶配置文件名稱。

第二類稱為用戶 ,它用於從配置文件目錄加載用戶配置文件,在該目錄中,用戶數據存儲在單獨的文本文件中。

Config類檢索用戶名和用戶配置文件文本文件路徑。 然后,該文本文件路徑將傳遞給User對象,該User對象隨后可以加載並解釋文件。

抱歉,如果這是一個內容過多的內容,但我認為這將有助於解釋問題。

我的問題是我應該如何格式化配置文件和用戶文件,以使它們足夠安全以至於某些人無法輕易檢索或操縱數據?

這是我如何閱讀文本文件的示例:

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

問題不在於讀取文本文件,我只是不確定如何使其安全。 我正在考慮首先解析整個文件,以將其從“加密”翻譯為文本,然后將其保存為臨時文件,然后傳遞給上述代碼,然后立即刪除該文件。 至於“加密”(這是正確的詞嗎?)文件,我也許可以使用將保存在文件開頭的密鑰對每個字符進行位移位。

我對安全地保存文件更感興趣,然后擔心它可能會造成過多的破壞。 我猜這更多的是實踐。

關於如何在codeproject.com http://www.codeproject.com/KB/security/EncryptFile.aspx上使用vb.net加密/解密文件,這是一個很好的示例

嗯.... NET包含很多安全和加密類。 我將通過在System.Security.Cryptography命名空間中查找開始搜索。

如果您需要從那里的選項中實施特定方法的幫助,請告訴我們。

附帶說明,您應該能夠處理來自System.IO名稱空間的所有文件訪問。 嘗試遠離Microsoft.VisualBasic命名空間,因為其中不再存在最佳實踐。

-編輯:錯別字。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM