C#: Потребность в справке при шифровании строки подключения в app.config и сохраняет его там и дешифрование его и использование?

Я нуждаюсь в помощи при шифровании строки подключения в app.config и сохраните его там и дешифруйте его для использования.

5
задан HamZa 11 April 2014 в 23:26
поделиться

3 ответа

Для этого можно использовать aspnet_regiis.exe -pef .
См. Статьи Шифрование строки подключения в ASP.NET V2.0 и Шифрование значений Web.Config в ASP.NET 2.0 для дальнейшие объяснения.

2
ответ дан 15 December 2019 в 00:58
поделиться

Если вы хотите установить защиту вручную, вы можете использовать класс ProtectedData . Какой-то код:

class ConnectionStringProtector
{
    readonly byte[] _salt = new byte[] { 1, 2, 3, 4, 5, 6 };  // Random values
    readonly Encoding _encoding = Encoding.Unicode;
    readonly DataProtectionScope _scope = DataProtectionScope.LocalMachine;

    public string Unprotect(string str)
    {
        var protectedData = Convert.FromBase64String(str);
        var unprotected = ProtectedData.Unprotect(protectedData, _salt, _scope);
        return _encoding.GetString(unprotected);
    }

    public string Protect(string unprotectedString)
    {
        var unprotected = _encoding.GetBytes(unprotectedString);
        var protectedData = ProtectedData.Protect(unprotected, _salt, _scope);
        return Convert.ToBase64String(protectedData);
    }
}

вот простой тест:

static void Main(string[] args)
{
    var originalConnectionString = "original string";

    var protector = new ConnectionStringProtector();

    var protectedString = protector.Protect(originalConnectionString);
    Console.WriteLine(protectedString);
    Console.WriteLine();

    var unprotectedConnectionString = protector.Unprotect(protectedString);
    Console.WriteLine(unprotectedConnectionString);

    Console.WriteLine("Press ENTER to finish");
    Console.ReadLine();
}
2
ответ дан 15 December 2019 в 00:58
поделиться

В дополнение к комментарию @ Li0liQ вы можете использовать программу командной строки, которая поставляется с .NET Framework 2.0+ aspnet_regiis . Ознакомьтесь с документацией MSDN здесь

0
ответ дан 15 December 2019 в 00:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: