我最近编写了一个应用程序,该应用程序使用字母表中的字符创建随机密码,然后使用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
答案 0 :(得分: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)