Мы не защищаем себя от неясности безопасности. Нам нужна защита, даже злоумышленники получают доступ ко всему.
Если мы посмотрим на некоторые числа в Hashcat, он может вычислить 53915 H/s
хеширование Blowfish на p3 16xlarge для одного
Tesla V100-SXM2-16GB, 4038/16152 MB allocatable, 80MCU
, которое может вычислять около 2 ^ 49 хешей в час. 115]
Исходя из этого, вам нужно подготовить длину паролей и применить растяжение ключа (около 10000 итераций), чтобы сократить время поиска.
Лучше переключиться на Argon2, который является победителем конкурса паролей. Argon2 может противодействовать распараллеливанию и может увеличить итерацию, чтобы уменьшить возможности одиночного поиска.
Для базы данных вам необходимо шифрование, которое очень важно. Если нарушен только сервер базы данных, вы будете в безопасности. Однако в сложной атаке злоумышленник может также захотеть украсть ключи шифрования. Им нужна защита любой ценой для безопасности базы данных.
Хорошо, строка [] args = Среда. GetCommandLineArgs () является более оптимальным вариантом. Но я сохраню следующий ответ как альтернативу ему.
Ищите файл по имени Program.cs, содержащий следующий фрагмент кода...
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
и изменение это к
static class Program
{
public static string[] CommandLineArgs { get; private set;}
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
CommandLineArgs = args;
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
Затем получите доступ к командной строке args от Вашей формы...
Program.CommandLineArgs
Ваш Main()
метод расположен в Program.cs
файл, обычно как это:
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
Необходимо изменить Main()
к следующему:
static void Main(string[] args)
У Вас будет доступ к аргументам переданным.
Кроме того, Вы могли получить доступ к использованию аргументов Environment.GetCommandLineArgs()
Если Вы хотите получить доступ к параметрам командной строки, условиям применения. CommandLine
string args = Environment.CommandLine;
Можно сделать это, есть ли у Вас основной метод со строкой [] args в Вашем коде.
Существует тот Main()
, который является внутри Program.cs
. Но в приложении WinForms Environment.GetCommandLineArgs()
будет более оптимальный вариант.
в Вашем общедоступном конструкторе используйте следующее:
строка [] args = Среда. GetCommandLineArgs ();
это даст Вам массив строк аргументов.