Может быть, я слишком много думал об этом, перебрал сложные вещи и завязал себя в узел. Я тоже не очень разбираюсь в шифровании, так что это не поможет.
У меня есть приложение, в котором есть поля, зашифрованные с использованием класса AES (который я нашел опубликованным здесь в другом вопросе), а зашифрованная строка затем сохраняется в файле XML. Теперь пароль, используемый для шифрования каждой строки, предоставляется пользователем и устанавливается при первом использовании программы. Эта часть работает нормально, и я могу отлично шифровать и расшифровывать данные, как хочу.
У меня проблема в том, что пароль, который используется для шифрования этих строк, хранится в файле конфигурации в приложении. Сначала я решил использовать DPAPI для шифрования этого пароля, а затем сохранить его в файле конфигурации, и все, казалось, работало именно так, как я хотел. Пользователь запустил программу, установил пароль, добавил несколько строк, и все отлично зашифровано и расшифровано, и все работает отлично.
Проблема в том, что это отлично работает на компьютере, на котором создан пароль, но как только я пытаюсь использовать его на другом компьютере, DPAPI выдает ошибку (я полагаю, потому что DPAPI зависит от машины?)
По сути, мне нужен способ зашифровать пароль, который устанавливается пользователем при первом запуске и хранится в файле конфигурации, но я не могу использовать класс AES, который я использую для шифрования других данных, так как для шифрования требуется пароль! !!
Как я уже сказал, мой класс AES отлично работает при шифровании других данных, но мне нужен способ защитить пароль, который хранится в файле app.config, кроме его шифрования с помощью DPAPI, чтобы я мог использовать его на других устройствах без ошибок.
Я надеюсь, что это имело смысл, моя голова болит!!!!
Любая помощь очень ценится
Дополнительная информация:
Приложение представляет собой очень простое приложение winform, которое позволяет получить доступ к данным при вводе правильного пароля, а программа хранится на USB-накопителе, что позволяет подключать ее к любому компьютеру, а данные расшифровывать и просматривать. Здесь нет пользовательской структуры, вам просто нужен правильный пароль для доступа к приложению и просмотра данных. Пароль, используемый для доступа к приложению, является паролем, используемым для шифрования данных.
Дублирующий вопрос: вопрос отличается, потому что в их случае DPAPI делает то, что им требуется, в моем случае НЕ ДЕЛАЕТ, как я уже выразил в своем исходном вопросе!