2016-12-30 14 views
0

私はSOの周りを見て、ハッシュの使用に関するいくつかの有用な情報を見つけましたが、実際にはC#のStreamWriter関数でどのように使用するかに関する情報はありません。ファイル内のパスワードを保護するためにハッシュを使用する

私はSO、私はここで見つけるのコードだったから使わコード:How to hash a password - Christian Gollhardt

CODE

private void Accept_Click(object sender, EventArgs e) 
    { 
     usrpass = usrpassTextbox.Text.ToString(); 
     usrid = usridTextbox.Text.ToString(); 

      if (FileExists() == true) 
       { 
       if (DialogResult.OK == MessageBox.Show("This user already exists, overwrite?", "Warning", MessageBoxButtons.OKCancel)) 
        { 
        using (StreamWriter streamWriter = new StreamWriter(usrid + ".txt")) 
        { 
         streamWriter.WriteLine(usrpass); 
         MessageBox.Show(id + "'s password has been saved"); 
        } 
        } 
       } 
      else 
      { 
       using (StreamWriter streamWriter = new StreamWriter(usrid + ".txt")) 
        streamWriter.WriteLine(usrpass); 
       MessageBox.Show(id + " " + "'s password has been saved"); 
      } 
     } 
    } 

また、私は、私は何があるのを知っていない、コードを削減する方法に貯蓄を入れて検討していますが、それを2回書くことを指摘する。

望ましい結果

これがハッシュされている場合、私は、ハッシュ化されるように.txtファイルに書き込まれているパスワードをご希望のユーザーはまだ私はコードのビットを書くときにログインできるようになることユーザーのtxtファイルが存在するかどうかを確認し、パスワードを読み取りますか?

私はそれを解き放つ必要がありますか?まだのよう

、私はから借りコードを持っている...クリスチャンが、

+0

ますハッシュは*片方のみ*ハッピーではありません。あなたはハッシュ(パスワードのハッシュとユーザー入力のもの)を比較しなければならない –

+0

私は、これは一般的なフォークフレンドリーですか?のように、ユーザーは正常にログインするには、特定のハッシュを保存する必要がありますか? –

+0

このスレッドはハッシングで面白いと感じました:http://security.stackexchange.com/questions/11717/why-are-hash-functions-one-way-if-i-know-the-algorithm-why-cant-i -calculate-t – gordlonious

答えて

1
public static string CreateMD5(string input) 
    { 
     // Use input string to calculate MD5 hash 
     using (System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create()) 
     { 
      byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input); 
      byte[] hashBytes = md5.ComputeHash(inputBytes); 

      // Convert the byte array to hexadecimal string 
      StringBuilder sb = new StringBuilder(); 
      for (int i = 0; i < hashBytes.Length; i++) 
      { 
       sb.Append(hashBytes[i].ToString("X2")); 
      } 
      return sb.ToString(); 
     } 
    } 

ファイルに書き込まれる前に、usrpassをハッシュするためにそれを使用する方法がわからない

usrpass = CreateMD5(usrpassTextbox.Text.ToString()); 
+0

この回答は、ハッシュに関するクリスチャンの情報に依存していますか、 –

+1

全く同じソリューションで、同じ結果が得られます。 –

+0

これは 'ログイン 'を不可能にするでしょうか?のように、パスワードが正しいかどうかを確認するためにユーザーのパスワードファイルを読んで?ハッシュされたときの仕組み –

関連する問題