C # Изменить строку в DLL через exe - PullRequest
0 голосов
/ 08 февраля 2011

Я новичок здесь и довольно плохо знаком с C #.Немного поигрался и освоил базовые навыки, но теперь я немного углубился, чтобы следить за уровнем своего мастерства.

Я создал программу, в которой вы должны войти в систему и к этомуЯ создал DLL в том же проекте, который содержит все данные.Я сделал это, потому что я хочу иметь возможность изменять данные через программу.Есть ftp-функции и симуляция, и программа предназначена для нескольких разных пользователей, поэтому я не могу сохранить один и тот же пароль и данные для всех.

У меня нет проблем с вызовом данных из dll, чтобы получитьпароль, но я также хочу изменить этот пароль в DLL через форму настроек.Как я могу это сделать?

Часть основной программы:

    public static string updatePass()
    {

    }

    public void apply_Click(object sender, EventArgs e)
    {
        string newPass = newPassField.Text;
        string rePass = rePassField.Text;

        int pass_value = newPass.CompareTo(rePass);
        if (pass_value == 0)
        {

        }
        else
            MessageBox.Show("Error: The passwords does not match!");
    }

Часть библиотеки DLL, где пароль:

    public static string passData(string password = null)
    {
        return (password);
    }

Ответы [ 4 ]

3 голосов
/ 08 февраля 2011

Как правило, нет.DLL - это код, а не данные.Чтобы делать то, что вы хотите, вам действительно нужно где-то хранить свои данные (базу данных, плоский файл и т. Д.), А затем использовать свой код для чтения / записи.и, конечно же, для паролей вы хотите убедиться, что они надежно хешированы.

0 голосов
/ 08 февраля 2011

Использовать файл настроек. Visual Studio уже поддерживает это. Также никогда не храните простые текстовые пароли, храните только хэш пароля.

0 голосов
/ 08 февраля 2011

Честно говоря, лучше всего избегать хранения пароля в DLL, поскольку в файле DLL нет постоянного хранилища нестатических данных. Таким образом, вы можете хранить константы в DLL, но не пароли. Теперь, если вы хотите, вы можете сохранить пароль пользователя в ключе реестра конкретного пользователя (зашифрованном, я надеюсь, :)), а затем получить к нему доступ из DLL, и это даст вам иллюзию сохранения пароля в DLL и получить вид, куда вы хотите пойти.

Вы также можете взглянуть (если вы используете 3.5+) на использование механизма внутренних настроек C # - это позволит вам прозрачно записывать данные из winform, а затем читать их из DLL, не беспокоясь о-ГДЕ- хранится.

Удачи!

0 голосов
/ 08 февраля 2011

Вы должны знать, что любые пароли, которые вы используете в коде, могут быть сравнительно легко найдены любым, кто имеет доступ к dll, используя такой инструмент, как отражатель .

Если вы передадитеУчетные данные вместе с DLL убедитесь, что вы их надежно закрепите.Если вы собираетесь хранить их в конфигурационном файле, в этой статье рассматривается хороший способ их шифрования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...