c # NetworkCredential и System.Net.WebRequest хранятся в зашифрованном виде в коде

#c# #httpwebrequest #webrequest #networkcredentials

#c# #httpwebrequest #webrequest #networkcredentials

Вопрос:

Я должен сделать веб-запрос с удаленного сервера, и, конечно, я должен аутентифицировать для каждого запроса. У меня есть System.Net.WebRequest, и я заполняю его учетные данные с помощью NetworkCredential. Проблема в том, что для инициализации NetworkCredential мне нужно ввести в свой код в виде обычного текста учетные данные.

 new NetworkCredential("my username", "my pwd");
  

Как я могу объявить информацию о своих учетных данных зашифрованной в моем коде (sha256)?
Дело в том, что я понимаю, как запрос обычно зашифровывает вашу информацию перед отправкой и как сервер хранит ваши учетные данные уже зашифрованными, поэтому у меня должен быть способ напрямую записать зашифрованные учетные данные и «сказать» NetworkCredential или WebRequest: «это имя пользователя и pwd уже зашифрованы», и сервер будетне пытайтесь зашифровать его перед сравнением с тем, который хранится в базе данных.

Я искал, но не мог найти способ или подсказку. Заранее спасибо.

Комментарии:

1. Когда компьютеры с Windows подключены к одной сети, они добавляются в группу, которая позволяет машинам взаимодействовать с использованием одного и того же ключа. Поэтому, если вы подключаетесь к компьютерам в одной сети и у вас есть учетная запись на обоих компьютерах, просто используйте учетные данные по умолчанию вместо сетевых учетных данных, поэтому вам не нужно использовать имя пользователя и пароль.

2. Это хорошая идея, к сожалению, мы не можем этого сделать, наш API будет работать на сервере, сервере нашего клиента.

3. Если вы зашифруете учетные данные, то как сервер сможет их расшифровать? Ваши клиенты могут делать то, что я предложил.

4. сервер будет шифровать информацию, которую вы им отправляете. Так что, возможно, был «протокол», чтобы сказать им, что информация, которую я отправляю, уже зашифрована, не шифруйте их перед сравнением с той, которую вы сохранили.

Ответ №1:

Не было никакого «поворота».

«Решение», которое я использую прямо сейчас, заключается в том, что в коде ничего не хранится, при запуске API клиент должен предоставить информацию о пользователе.