2017-05-30 15 views
0

md5の単語のリストを暗号化またはハッシュするプログラムを作成しようとしています。今のところ、私はこれを簡単に行うことができます。今は、リストボックスに格納されているハッシュされた文字列が8つの.txtに含まれているかどうかを調べる方法を見つけようとしています。ハッシュと単語を追加しない場合(ハッシュ:Word).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ループのいくつかの並べ替えは、どこから始めればわからないだけでここに働くだろうと想像します。 regexはここでうまく動作しますか?

答えて

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 

これについては、これよりも効率的ではないでしょうか。 これが役立つことを願っています。

関連する問題