VB.NET - 逐行读取TXT文件中的加密数据

时间:2017-08-26 04:37:58

标签: vb.net

我发现这段代码在VB.NET中加密/解密数据:

    Dim cypherTextBytes As Byte() = Convert.FromBase64String(encryptedData)
    Dim memoryStream As MemoryStream = New MemoryStream(cypherTextBytes)
    Dim cryptoStream As CryptoStream = New CryptoStream(memoryStream, Me.decryptor, CryptoStreamMode.Read)
    Dim plainTextBytes(cypherTextBytes.Length) As Byte
    Dim decryptedByteCount As Integer = cryptoStream.Read(plainTextBytes, 0, plainTextBytes.Length)
    memoryStream.Close()
    cryptoStream.Close()

我遇到的问题是,我不知道如何逐行读取.TXT文件,一次保存一行作为" encryptedData",并解密它,添加它在另一个.TXT文档中的一行。

谢谢!

1 个答案:

答案 0 :(得分:6)

您可以使用File.ReadLines方法返回包含文件中行的IEnumerable(Of String)。然后简单地遍历这些行并将每一行作为encryptedData值传递。

在此循环中,一旦解密了该行,您就可以使用File.AppendAllLines方法将结果附加到另一个文件。此方法需要附加一行数组,因此在您的情况下,您可以简单地将其传递给包含1个元素的数组。

对代码的进一步改进是将解密片段提取到一个单独的方法中,该方法将使用1个参数来表示加密数据并返回解密数据。