Хранить пароль в переносном приложении - PullRequest
0 голосов
/ 04 октября 2019

Я работаю над переносным приложением. Что-то у вас есть на флеш-накопителе и вы можете использовать его в любое время.

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

Пароли должны быть в файле настроек XML рядом с приложением или где-то еще, но настройки все равно должны загружаться при использовании на другом компьютере.

Но я бы хотел, чтобы пользователи не могли легко открыть этот файл настроек (Могу ли я зашифровать файл с настройками?) Тогда у меня будет некоторый «ключ дешифрования» в качестве пароля, который вы используете каждый раз, когда хотите вносить изменения или хотите использовать пароль из этого файла. или другой параметр.

Это правильно или даже безопасно?

Я знаю, что второй вариант - сохранить пароль уже в зашифрованном виде в файле настроек XML, но я бы хотел, чтобы люди не могли открыть этот файл. не зная пароля.

Спасибо за все ответы и идеи.

Ответы [ 2 ]

0 голосов
/ 04 октября 2019

Мое решение этой проблемы следующее.

  • Зашифруйте весь файл настроек (вы можете создать свою собственную функцию шифрования) и создайте небольшое служебное приложение для изменения настроек.
  • Только шифруйте пароль и используйте небольшую утилиту дляобновить / создать пароль
0 голосов
/ 04 октября 2019

1-й способ - зашифруйте вашу конфигурацию с помощью пароля.

1) Зашифруйте всю свою конфигурацию XML. 2) Запросить пароль при запуске программы. 3) Расшифровать конфиг и загрузить его.

Легко как то.

Вы можете использовать RijndaelManaged для шифрования настроек с помощью строкового пароля.

Готовую реализацию шифрования строки можно найти здесь .

ТакжеЯ очень-очень рекомендую хешировать ваш пароль с помощью SHA256 / SHA512 , чтобы затруднить взлом его для кого-то другого.

Плюсы:

  • Вы нене нужен доступ в интернет.
  • Взлом такого шифрования займет правильное количество времени (если вы правильно его используете)

Минусы:

  • Любой может взломать ваш пароль. Так что используйте надежный.

2-й способ - загрузите ваш пароль с веб-сервера

Установите веб-сервер, который будет принимать ваш пароль и отправлять список паролей.

ВСЕГДА ИСПОЛЬЗУЙТЕ HTTPS! Все ваши wifi-соединения могут быть прослушаны / или MITM 'ed!

Использовать SSL-закрепление для усиления вашей безопасности! Вы можете найти больше здесь .

Плюсы:

  • Очень сложно взломать ваш пароль.

(Настройкаваши серверные скрипты для принятия паролей, например, только когда вы работаете)

Минусы:

  • Вам необходим доступ в Интернет, конечно.
  • Вам нужноразместить веб-сайт, получить сертификат SSL (например, здесь бесплатно )
  • Люди, имеющие доступ к вашему веб-серверу, могут украсть ваши пароли.
  • Люди, имеющие доступ кВаше устройство может установить поддельный корневой сертификат SSL для перехвата вашего трафика. (SSL-закрепление может помочь вам в этом!)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...