0

我最近编写了一个应用程序,它从字母表中的字符中创建一个随机密码,然后使用 Rijndael 算法对其进行加密并将它们写入一个 .txt 文件。

叫我偏执狂,但我喜欢密码安全。

今天,我遇到了一个问题,一切都很好,直到现在。

我想创建一个新密码并将其添加到我的初始文件中,该文件已经包含另一个密码和我的访问密钥。

出于某种原因,下面的代码要么将新文本附加到前一行,这搞砸了我的解密,要么(使用注释代码)它在前一行和它刚刚编写的行之间插入了一个空行。

Dim empty As Boolean = True
Using reader As StreamReader = New StreamReader(fileLoc)
    'If Not reader.ReadLine() Is Nothing Then
    '    empty = False
    'End If
End Using

Using writer As StreamWriter = New StreamWriter(fileLoc, True)
    If Not empty Then
        writer.WriteLine()
    End If
    If passName = "" Then
        writer.WriteLine(cryptPass)
    Else
        writer.WriteLine(passName & " " & cryptPass)
    End If
End Using
4

1 回答 1

1

试试这样的事情:

    Dim lines As New List(Of String)
    lines.AddRange(System.IO.File.ReadAllLines(fileLoc))
    For i As Integer = lines.Count - 1 To 0 Step -1
        If lines(i) = "" Then
            lines.RemoveAt(i)
        End If
    Next

    If passName = "" Then
        lines.Add(cryptPass)
    Else
        lines.Add(passName & " " & cryptPass)
    End If

    System.IO.File.WriteAllLines(fileLoc, lines.ToArray)
于 2013-09-19T02:54:16.083 回答