С# - Найти из строки Файл.txt который находится на github и сравнить с переменой.
Цитата: Pixi от 13.02.2023, 07:28Привет всем, столкнулся небольшой проблемной, никак не могу сообразить, надеюсь на вашу небольшую помощь🤗
У меня задача простая, это найди совпадение, строки(ку) из файла txt (в этом файле будут много текста, которые будут начинаться с новой строки) — Файл же находится на github и открыт для чтения raw.
Суть, если сверить строчку, с переменой string TEXT = "Например" и если будет совпадение строки, вызвать обычное сообщение.Я видимо не дошёл до момента чтения файлов из сети... Помогите, пожалуйста 🥴
Привет всем, столкнулся небольшой проблемной, никак не могу сообразить, надеюсь на вашу небольшую помощь🤗
У меня задача простая, это найди совпадение, строки(ку) из файла txt (в этом файле будут много текста, которые будут начинаться с новой строки) — Файл же находится на github и открыт для чтения raw.
Суть, если сверить строчку, с переменой string TEXT = "Например" и если будет совпадение строки, вызвать обычное сообщение.
Я видимо не дошёл до момента чтения файлов из сети... Помогите, пожалуйста 🥴
Цитата: Adler от 13.02.2023, 09:25Добрый день.
Самый простой вариантvar data = new WebClient().DownloadString("https://github.com/PixiL0X/text/blob/main/example_strings.txt");А потом разбить текст тем же Split по знаку переноса и получить массив строк.
Добрый день.
Самый простой вариант
var data = new WebClient().DownloadString("https://github.com/PixiL0X/text/blob/main/example_strings.txt");
А потом разбить текст тем же Split по знаку переноса и получить массив строк.
Цитата: Pixi от 15.02.2023, 07:31@adler, Спасибо, как раз искал что-то подобное. Видимо глаз замылился.
Получил нужный результат, но думаю, в будущем столкнусь с проблемой🥲
string CODE= Registry.GetValue(@"HKEY_CURRENT_USER\SOFTWARE\TEST\CODE", "KEY", null)?.ToString(); var data = new WebClient().DownloadString("https://github.com/PixiL0X/text/blob/main/example_strings.txt"); string[] dataStrings = data.Split(new string[] { "\r\n" }, StringSplitOptions.None); foreach (string s in dataStrings) { if (s.Contains(CODE)) { Console.WriteLine("123456");} else{ //Основной код}Как вы поняли там много строк довольно большой массив данных, я боюсь что не все строки будут обработаны и в какой-то момент поймает падение )
Спасибо за быстрый ответ 🫡
@adler, Спасибо, как раз искал что-то подобное. Видимо глаз замылился.
Получил нужный результат, но думаю, в будущем столкнусь с проблемой🥲
string CODE= Registry.GetValue(@"HKEY_CURRENT_USER\SOFTWARE\TEST\CODE", "KEY", null)?.ToString();
var data = new WebClient().DownloadString("https://github.com/PixiL0X/text/blob/main/example_strings.txt");
string[] dataStrings = data.Split(new string[] { "\r\n" }, StringSplitOptions.None);
foreach (string s in dataStrings)
{
if (s.Contains(CODE))
{ Console.WriteLine("123456");} else{ //Основной код}
Как вы поняли там много строк довольно большой массив данных, я боюсь что не все строки будут обработаны и в какой-то момент поймает падение )
Спасибо за быстрый ответ 🫡
Цитата: Adler от 15.02.2023, 08:14Не вижу предпосылок для падения. Единственное, если строк много, то это может просто долго обрабатываться. Для ускорения можно оптимизировать код используя списки и параллельную обработку.
Если на работе с утра будет свободное время, приведу пример.P.S. Можно вообще вот так:
string example_key = "ANopec2aAiTsSGFhs4a0mlMmkW8exOUzbgG6"; //случайная строка из файла для примера string link = "https://raw.githubusercontent.com/PixiL0X/text/main/example_strings.txt"; List<string> list = new WebClient().DownloadString(link).Split(new string[] { "\n" }, StringSplitOptions.None).ToList(); if (list.Contains(example_key)) { Console.WriteLine("YES"); } else { Console.WriteLine("NO"); }И еще, если вы хотите это хотите использовать как некое средство активации программы, то если вы не сможете надежно обфусцировать, то это это взломают на 1-2-3. У скомпилированной программы на C# считай открытый код доступный для редактирования, при чем практически на лету.
Не вижу предпосылок для падения. Единственное, если строк много, то это может просто долго обрабатываться. Для ускорения можно оптимизировать код используя списки и параллельную обработку.
Если на работе с утра будет свободное время, приведу пример.
P.S. Можно вообще вот так:
string example_key = "ANopec2aAiTsSGFhs4a0mlMmkW8exOUzbgG6"; //случайная строка из файла для примера
string link = "https://raw.githubusercontent.com/PixiL0X/text/main/example_strings.txt";
List<string> list = new WebClient().DownloadString(link).Split(new string[] { "\n" }, StringSplitOptions.None).ToList();
if (list.Contains(example_key))
{
Console.WriteLine("YES");
}
else
{
Console.WriteLine("NO");
}
И еще, если вы хотите это хотите использовать как некое средство активации программы, то если вы не сможете надежно обфусцировать, то это это взломают на 1-2-3. У скомпилированной программы на C# считай открытый код доступный для редактирования, при чем практически на лету.