Задать вопрос
dkpage
@dkpage
Учусь

Как зашифровать логин и пароль в проекте exe (windows form)?

В проекте есть логин и пароль для подключения к стороннему api. Он должен быть вшит в проект, логин и пароль меняться не будут. Видеть логин и пароль никто не должен.

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

Знаю что так делать нельзя и толку шифровать все равно будет не так много и что лучше свой api сервис развернуть для этого, но задача такая.
  • Вопрос задан
  • 449 просмотров
Подписаться 2 Простой 6 комментариев
Пригласить эксперта
Ответы на вопрос 6
vovka3003
@vovka3003
Фрилансер. Инженер систем безопасности.
Самый простой "нечитаемый" вариант - в base64.
Для "усложнения" декодирования "честными усерами" - дополнительно сделать реверс закодированной строки.
Ответ написан
petermzg
@petermzg
Самый лучший программист
"Как можно зашифровать логин и пароль в проекте и желательно без ключа?"
В вашем случае нет разницы с ключом или без, так как если кто-то в код залезет, то пароль к апи уже получит.
А так можете AES зашифровать и программе расшифровывать.
Ответ написан
freeExec
@freeExec
Участник OpenStreetMap
Я бы выбрал XOR в случае скрытия от глаз, никаких криптографических апишек в проекте - это плюс
Ответ написан
Комментировать
@rPman
Ключевое слово для дальнейшего поиска решения - обфускация.

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

Советы:
- не использовать внешние подключаемые библиотеки для шифрования и отправки запроса, так как их тупо можно подменить на свои
- нетипичный алгоритм шифрования строк хранения пароля комиссии стоимость взлома
- активно запутывай код, есть коммерческие системы обфускации, или каскадная виртуализация (когда твоя программа это что то типа интерпретатора, или виртуальной машины, исполняющей итоговый код, чем менее стандартный он будет тем дороже взлом)

P.s. подумай, такая борьба с ветреными мельницами может оказаться сложнее чем запилить сервис посредника
Ответ написан
Зашифровать строку с логином, назвать элементы с зашифрованной строкой, далее при использовании просто брать имя элемента и расшифровывать. Хоть берите 3 символа изображения + ещё что-то и потом расшифровывайте, алгоритм будет только вам понятен, а всём остальным поковыряться
Ответ написан
Комментировать
@SayMo0n
Стороннее api веб? Если да тогда никакое шифрование не поможет, при запросе любым снифером будет отлавливаться пароль
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы