Есть ли способ безопасно сохранить пароль в программе? То есть вшить в прогу пароль от локальной базы данных например. - C#

Узнай цену своей работы

Формулировка задачи:

Замутил класс, буду наполнять его полезными методами. Возможно создам ещё один другой класс, не расширение.
    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;
        }
    }
}
Или как быть? Пароль к базе нужен, база локальная и шифруется (SQL CE). Приложение как минимум обфусцируется. Что можно сделать? Если обфускатор шифрует строки, то этого достаточно? Ну чтобы при инициализации всё запихать в SecureString. И есть ли варианты, если не брать в расчёт обфускатор?

Решение задачи: «Есть ли способ безопасно сохранить пароль в программе? То есть вшить в прогу пароль от локальной базы данных например.»

textual
Листинг программы
namespace MyNamespace
{
    public class Program
    {
        private static void Main(string[] args)
        {
            string password = "ultra secret password";
            var t = password + "1";//это чтоб компилятор не вырезал код, в debug можно без этого
            Console.ReadLine();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы