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 に答える