Это озадачило меня какое-то время. У меня нет широкого понимания шифрования, но я понимаю принцип.
Для примера предположим, что у меня есть программа, единственная цель которой - отправить случайный пользовательский ввод в мой частный профиль facebook. Теперь для этого программа должна иметь мою регистрационную информацию в facebook (если это не так, предположите другое стороннее приложение). Эта информация или учетные данные должны быть где-то сохранены, поскольку метод почты программы будет выполнен без администрирования.Почему шифрование считается более безопасным?
Я знаю, что это плохая политика хранения учетных данных в коде как простые строки, поскольку скомпилированный код можно декомпилировать, а мои учетные данные будут читабельными. Рекомендуемое решение - хранить их в отдельном файле, зашифрованном.
Насколько я понимаю, для шифрования/дешифрования нужен ключ, который также необходимо хранить где-то. Не может ли этот ключ и алгоритм шифрования считываться из декомпилированного кода и использоваться для дешифрования учетных данных?
Является ли преимуществом сохранение учетных данных, зашифрованных на основе дополнительного шага декомпилирования-дешифрования, или я что-то совершенно неправильно понял?
Я думаю, что этот вопрос лучше подходит для http://security.stackexchange.com – beatcracker
Существуют стратегии, которые делают его нетривиальным для доступа к хорошо сохраненному ключу ([где хранить ключ для шифрования] (http://security.stackexchange.com/questions/12332/where-to-store-a-key-for-encryption)). –
@beatcracker Спасибо, я тоже попробую там, но я оставлю это открытым здесь, так как я нахожу это очень тесно связанным с моим собственным программированием. – Sami