我发现这段代码在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文档中的一行。
谢谢!
答案 0 :(得分:6)
您可以使用File.ReadLines
方法返回包含文件中行的IEnumerable(Of String)
。然后简单地遍历这些行并将每一行作为encryptedData
值传递。
在此循环中,一旦解密了该行,您就可以使用File.AppendAllLines
方法将结果附加到另一个文件。此方法需要附加一行数组,因此在您的情况下,您可以简单地将其传递给包含1个元素的数组。
对代码的进一步改进是将解密片段提取到一个单独的方法中,该方法将使用1个参数来表示加密数据并返回解密数据。