Есть ли способ безопасно сохранить пароль в программе? То есть вшить в прогу пароль от локальной базы данных например. - C#
Формулировка задачи:
Замутил класс, буду наполнять его полезными методами. Возможно создам ещё один другой класс, не расширение.
Может делать что-то типа этого?
Или как быть? Пароль к базе нужен, база локальная и шифруется (SQL CE). Приложение как минимум обфусцируется. Что можно сделать? Если обфускатор шифрует строки, то этого достаточно? Ну чтобы при инициализации всё запихать в SecureString. И есть ли варианты, если не брать в расчёт обфускатор?
public static class ExtensionDataSecurity { public static SecureString ToSecureString(this string text) { SecureString secString; unsafe { fixed (char* с = text) { secString = new SecureString(с, text.Length); } } return secString; } }
using System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Security; namespace ConsApp { class Program { static SecureString securePassword; static void Main(string[] args) { String password = "password"; securePassword = password.ToSecureString(); //password = null; //Хотя после выхода из метода инициализации приложения эта //строка всё равно "убъётся" сборщиком мусора. Думаю смысла нету это писать Console.ReadKey(); } } public static class ExtensionDataSecurity { public static SecureString ToSecureString(this string text) { SecureString secString; unsafe { fixed (char* с = text) { secString = new SecureString(с, text.Length); } } return secString; } } }
Решение задачи: «Есть ли способ безопасно сохранить пароль в программе? То есть вшить в прогу пароль от локальной базы данных например.»
textual
Листинг программы
namespace MyNamespace { public class Program { private static void Main(string[] args) { string password = "ultra secret password"; var t = password + "1";//это чтоб компилятор не вырезал код, в debug можно без этого Console.ReadLine(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д