-1

Это озадачило меня какое-то время. У меня нет широкого понимания шифрования, но я понимаю принцип.
Для примера предположим, что у меня есть программа, единственная цель которой - отправить случайный пользовательский ввод в мой частный профиль facebook. Теперь для этого программа должна иметь мою регистрационную информацию в facebook (если это не так, предположите другое стороннее приложение). Эта информация или учетные данные должны быть где-то сохранены, поскольку метод почты программы будет выполнен без администрирования.Почему шифрование считается более безопасным?

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

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

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

+2

Я думаю, что этот вопрос лучше подходит для http://security.stackexchange.com – beatcracker

+1

Существуют стратегии, которые делают его нетривиальным для доступа к хорошо сохраненному ключу ([где хранить ключ для шифрования] (http://security.stackexchange.com/questions/12332/where-to-store-a-key-for-encryption)). –

+0

@beatcracker Спасибо, я тоже попробую там, но я оставлю это открытым здесь, так как я нахожу это очень тесно связанным с моим собственным программированием. – Sami

ответ

0

Есть 2 способа можно проверить введённые полномочия при зашифровать версии:

  1. расшифровывать зашифрованную версию; это, очевидно, требует хранения инструментов, необходимых для дешифрования, что небезопасно.
  2. Зашифруйте то, что вы пытаетесь проверить, и посмотрите, соответствует ли ваша зашифрованная версия. Это не требуют возможности расшифровать что угодно.
+0

Шаг 2 является распространенным недоразумением в моем вопросе. С этим сравнивать нечего. Никто не дает учетные данные. Пользователь просто набирает «Hello world!», И программа отправляет это в службу, будь то facebook или что-то еще. Учетные данные должны храниться и открываться, чтобы программа могла использовать их без администрирования. – Sami

+0

Тогда, может быть, вы должны отредактировать свой вопрос, нет? –

+0

Я думаю, что это совершенно очевидно, если вы читаете вопрос .. – Sami

Смежные вопросы