0

アプリケーションでユーザー パスワードを暗号化する必要があり、一度にパスワードを復号化して、認証のためにサーバーに送信します。友人が HMAC を使うようにアドバイスしてくれました。C# で次のコードを書きました。

System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
byte[] key = encoding.GetBytes("secret");
HMACSHA256 myhmacsha256 = new HMACSHA256(key);
byte[] hashValue = myhmacsha256.ComputeHash(encoding.GetBytes("text"));
string resultSTR = Convert.ToBase64String(hashValue);
myhmacsha256.Clear();

パスワード (この場合、resultSTR) をデコードする方法は?

4

1 に答える 1

6

HMAC (Hashed Message Authentication Code) は暗号化ではなく、ハッシュ関数 (この場合は SHA-256) といくつかの秘密鍵です。損失が多く、HMAC から平文を取得する方法がありません。

機密データを暗号化したい場合は、代わりに ProtectedData クラスを使用することを検討してください。http://msdn.microsoft.com/en-us/library/system.security.cryptography.protecteddata.aspxのサンプル コードを含む詳細情報

于 2010-03-26T21:46:35.930 に答える