Как лучше всего защитить конфиденциальные данные в коде?

Я изучал способы защиты моего кода от декомпиляции.

Здесь есть несколько хороших потоков, описывающих обфускацию и упаковку кода как возможные способы защиты кода. Однако ни один из них не идеален, обфускация не работает с отражением, когда используются строковые имена методов / свойств. Многие вообще не рекомендуют использовать обфускацию.

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

В ASP.NET есть возможность переместить конфиденциальные данные в файл .config и зашифровать его, но для этого требуется ключ сервера, т. Е. Связь с одним компьютером. Я не очень много читал об этом, но полагаю, что что-то подобное доступно для настольных приложений. Но мне это нужно, чтобы работать на любом компьютере, на котором установлено приложение.

И вот вопрос: есть ли способы закодировать / защитить такие данные, чтобы их нельзя было прочитать вместе с декомпилированным кодом?

21
задан M.Babcock 18 August 2015 в 21:04
поделиться