Как реализовать функцию «запомнить меня» в десктоп приложении?
Делаю клиент для VK. И встал вопрос: как безопасно хранить токен авторизации на стороне клиента? Или подскажите какие-нибудь другие способы хранения данных пользователя для их сохранения
justslipknot, да хотя бы такFile.WriteAllText(config, token)
Пользовательские устройство находится под ответственностью пользователя. Можно конечно зашифровать токен, но это ничего принципиально не изменит. Единственный безопасный вариант - не хранить ничего, а просить ввести каждый раз.
justslipknot, вам всё равно придётся хранить файлы на компьютере, если хотите реализовать подобный функционал. Максимум, что вы можете сделать, зашифровать эти файлы. Но тогда вам придётся выбирать несколько возможных вариантов: использовать учётную запись использовать в качестве защиты (как у браузеров парольница требует пароля для просмотра), либо хранить в программе некий ключ работы с файлом, хранить этот ключ где-то в глубине системы для работы с файлом.
Первый случай работает не всегда. Если учётная запись не запаролена, то защиты не будет. Второй случай при желании взломщик проинспектирует вашу программу на предмет ключа. Третий ключ также может быть вскрыт при изучении той же самой программы.
Поэтому лучшая защита - это нападение, то есть ответственность пользователя к своим данным. Так что просто предоставьте пользователю возможность ответственно относиться к вещам, не забыв предупредить, что забота о ключе - его ответственность.