Внедрение C # HMAC - PullRequest
       48

Внедрение C # HMAC

0 голосов
/ 27 марта 2010

Я хочу, чтобы мое приложение шифровало пароль пользователя, и когда-то пароль будет расшифрован для отправки на сервер для аутентификации. Друг посоветует мне использовать 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)?

1 Ответ

6 голосов
/ 27 марта 2010

HMAC (хешированный код аутентификации сообщений) - это не шифрование, это хеш-функция (в данном случае SHA-256) плюс некоторый секретный ключ. Это потеря, нет способа извлечь открытый текст из HMAC.

Если вы хотите зашифровать некоторые секретные данные, вам следует рассмотреть возможность использования класса ProtectedData. Больше информации, включая пример кода на http://msdn.microsoft.com/en-us/library/system.security.cryptography.protecteddata.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...