2016-10-19 39 views
0

私は以下のコードを使用して自分のパスワードをコードしています、どのように私はC#デコードSHA256パスワード

public static string EncodePassword(string password) 
{ 
    var provider = new SHA256CryptoServiceProvider(); 
    var encoding = new UnicodeEncoding(); 
    return Convert.ToBase64String(provider.ComputeHash(encoding.GetBytes(password))); 
} 
+3

できません。ハッシュ関数は元に戻せません。 –

+2

実際、パスワードが正常かどうかを確認するには、入力した試行のハッシュとパスワードのハッシュを比較する必要があります。検証のためにパスワードを復号化することは、方法ではありません。 – Jens

+0

@ Jens、実際には私のサービスの機能をテストしていましたが、私は今のパスワードを忘れてしまいました。 @ Niyoko、私たちはハッシュされた文字列を返すことはできません?、情報のおかげで –

答えて

5

を使用して正しいものにそれをデコードすることができますあなたはそれはパスワードハッシュの背後にある考え方であることはできません。 入力をハッシュし、 と格納されたハッシュを比較することによってのみ、パスワードが正しいかどうかを確認できます。これは、ハッカーがあなたのパスワードを盗まないようにすることです。

+0

*攻撃者がパスワードを取得するのが遅くなります。 SHA256はおそらくパスワードハッシュ関数ではありません:) – juunas