Как сохранить пароли в безопасности, но мне нужно получить его как чистый текст позже? - PullRequest
1 голос
/ 24 ноября 2011

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

Поэтому мне нужно сохранить пароль с помощью сервера ip и adminпорт в базе данных, где я могу получить пароль и использовать его, когда пользователь хочет выполнить какую-либо команду на сервере.

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

Я работаю в ASP.NET MVC 3, C # и MySQL в качестве базы данных.

Ответы [ 3 ]

1 голос
/ 24 ноября 2011

Вам не нужно ни получать простой текстовый пароль, ни вам.Вы можете хранить пароль с односторонним хешем (SHA-1, SHA-2) и солью, а затем, когда вы вводите пароль для проверки ваших учетных данных, вы хэшируете ввод same way, который вы сделали при сохранениипароль в базе данных.Если два значения хеша совпадают, пользователю должен быть предоставлен доступ.

.Net имеет класс SHA-1 , который вы можете использовать, чтобы вам не приходилось писать свой собственный.

Я повторю, вы не хотитеиметь возможность получить пароль в виде простого текста, потому что в случае взлома ваших данных злоумышленник также может получить пароль.

1 голос
/ 24 ноября 2011

посмотрите на эту ссылку .Шифрование Triple DES можно зашифровать и расшифровать с помощью ключа.Ваша программа будет шифровать по пути вверх и расшифровывать значение БД при необходимости.если вы действительно хотите быть в безопасности, вы можете использовать соль

1 голос
/ 24 ноября 2011

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

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