我试图制作一个加密或散列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循环可以在这里工作,但不知道从哪里开始。 正则表达式会在这里工作得更好吗?
答案 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
关于正则表达式我不确定这会比那更有效率。 希望这会有所帮助。