У меня есть приложение, которое берет строку из текстового поля Windows Forms и передает ее в API, который использует строку в качестве параметра. Я вижу, что строку все еще можно запросить из памяти процесса после завершения задачи. Я сталкивался с предложениями использовать SecureString
для возможностей управления строковой памятью. Но, если я правильно понимаю, цель строки теряется, если безопасная строка построена из строки или значение защищенной строки в конечном итоге хранится в строке.
Пожалуйста, предложите, что является лучшим возможным решением.
TextBox
, то уже повсюду скрывается неизвестное/неизвестное количество копий этой строки. Вы не можете исправить эту утечку. Либо перепроектируйте это, чтобы использоватьSecureString
повсюду, либо смиритесь с тем, что кто-то с достаточным доступом к машине (машинам), на которой работает этот код, может потенциально прочитать эти данные из памяти процесса. Но имейте в виду - кто-то с таким уровнем доступа все равно легко мог установить кейлоггер. - person Damien_The_Unbeliever   schedule 30.05.2017