检查.txt文件的文件夹是否包含Listbox中的单词

时间:2017-05-30 01:27:07

标签: regex vb.net match

我试图制作一个加密或散列md5中单词列表的程序。到目前为止,我可以轻松地做到这一点,现在我试图弄清楚如何检查8 .txt以查看它们是否包含存储在列表框中的散列字符串。如果没有添加哈希和单词(哈希:单词)。

     Public Function Md5FromString(ByVal Source As String) As String
    Static local_MD5 As MD5 = MD5.Create
    Dim sb As New StringBuilder()
    For Each b As Byte In local_MD5.ComputeHash(Encoding.Default.GetBytes(Source))
        sb.Append(b.ToString("x2"))
    Next
    Return sb.ToString()
End Function

生成10K左右后,我想检查.txts以查看它们是否包含任何匹配项。如果未找到匹配项,请添加它们。另外,我将每个.txt排序如下: Hash_Pass1.text存储以0或1开头的哈希值。 Hash_Pass2.txt存储以2或3开头的哈希值 等等 8 .txt的路径

\ HP \ Hash_Pass1.txt

\ HP \ Hash_Pass2.txt

我想某种FOR循环可以在这里工作,但不知道从哪里开始。 正则表达式会在这里工作得更好吗?

1 个答案:

答案 0 :(得分:0)

我认为您的问题只是检查所有文件,因此有一些方法可以启动。

Dim listOfMd5 As New List(Of String) ' Your MD5 list
For Each md5 In listOfMd5
    Dim fileName = "\HP\Hash_Pass" & GetFileNumberFromMd5(md5) & ".txt" ' Function to get the correct file to check according to what you want
    Using reader As New StreamReader(fileName)
        While Not reader.EndOfStream
            Dim line As String = reader.ReadLine()
            If line.Contains(md5) Then ' md5 found
                ' Found : do stuff
                Continue For
            End If
            ' Not found : do stuff
        End While
    End Using
Next

关于正则表达式我不确定这会比那更有效率。 希望这会有所帮助。