Я разрабатываю клиентское приложение на C #, которое будет взаимодействовать с сервером (php-страницей) для получения учетных данных и некоторых важных служб. Мне интересно, опасно ли хранить хорошо хешированный пароль на машине клиента? Под «хорошо хешированным» я подразумеваю случайное начальное число с использованием хорошо известной функции безопасного хеширования. Для целей этого обсуждения предположим, что исходный код находится в свободном доступе (поскольку все двоичные файлы могут быть реконструированы).
Я думал, что я сохраню имя пользователя и хешированный пароль на компьютере пользователя и что это имя пользователя и хэш будут отправляется в виде обычного текста через незашифрованное http-соединение с сервером для проверки. Это, конечно, не помешает хакеру использовать кого-то другого. s имя пользователя и хэш пароля, как их собственные, без знания исходного пароля (с некоторыми изменениями кода).
Пример того, как хакер может подделать чужие учетные данные, используя мою текущую логику:
Продукт, который я производю, не будет следующим ebay , facebook или stackexchange и имеет небольшой бюджет. Мне не нужно что-то первоклассное, и я не забочусь о кражах, так как планирую использовать модель «Плати сколько хочешь». Я публикую это в основном из любопытства.