Я ищу безопасный способ шифрования и дешифрования строки в проекте Visual Studio (в C #). Я обнаружил, что есть нативные классы DES, но они недостаточно безопасны. У вас есть предложения?
ОБНОВЛЕНИЕ:
Хорошо, тогда возникает вопрос: какой самый безопасный способ зашифровать / расшифровать строку без особых хлопот (иначе говоря, нужно устанавливать внешние инструменты и т. Д. С внешней библиотекой все в порядке). И куда поместить секретный «ключ» (достаточно ли безопасно компилировать значение внутри кода?).
Обновление № 2
Если я использую что-то вроде этого кода для сохранения зашифрованной строки в файле конфигурации:
using System.Security.Cryptography;
using System.Security;
byte[] encrypted = ProtectedData.Protect(StrToByteArray("my secret text"), null, DataProtectionScope.LocalMachine);
byte[] derypted = ProtectedData.Unprotect(encrypted , null, DataProtectionScope.LocalMachine);
Это достаточно безопасно? Я предполагаю, что с параметром «LocalMachine» вместо параметра «Пользователь» кто-то может просто написать приложение в .net, поместить его на компьютер и выполнить для расшифровки зашифрованной строки. Так что, если я хочу, чтобы это было более безопасно, у меня должен быть файл конфигурации, различный для каждого пользователя? Я правильно понимаю?