Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/91: Рейтинг темы: голосов - 91, средняя оценка - 4.77
IS
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116

ГОСТ 3410 / Работа с длинными числами

01.10.2008, 12:20. Показов 19333. Ответов 75
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Начал делать курсовик по реализации ЭЦП по ГОСТ 34.10 (и соответственно 34.11 и 28147 ). В качестве среды разработки выбрал C++ Builder.
Возник вопрос: Как работать с большими числами размером в 256,512,1024 бит? Они, ведь, ни в один тип данных не лезут (int только 32 бита). В контрольком примере дано число 5789604461865809771178549250434395392663 4992332820282019728792003956564821041.
P.S Чужая реализация 3410-01 Но, есть сильное подозрение а то, что препода "кинули" - подсунили ему в место ГОСТ 3410-2001, забугорский ECDSA.
Мой курсовик:
Недостатки:
1) Результат проверки не совпадает с генерированой подписью. Проблема в математике.
2) Нет создания хэша функции по ГОСТ 3411
3) Нет вычисленя параметров ЭК.
4) Длительное время работы (прога не зависла - она считает)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.10.2008, 12:20
Ответы с готовыми решениями:

Работа с длинными числами
Не работает программа с длинными числами...подскажите как поправить (3ab-4c) / d^2 .model small .stack 100h .data a db 10 ...

Работа с длинными числами
Мне нужно прочитать из файла 22-х значные целые числа для количественного сравнения. int и long int не сохраняют полную длину числа. Какой...

Работа с длинными числами
Здравствуйте! На программировании в вузе дали индивидуальную задачу которая предусматривает работу с большими числами: 1 <= N...

75
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
24.10.2008, 09:53
Студворк — интернет-сервис помощи студентам
ну это смотря какой массив... есть разные способы, можно свой указатель держать, чтобы указывал на последний элемент, а так - каким размер поставил, такой и размер... если юзаешь классы билдера, то во всех коллекциях у них есть свой указатель на кол-во...
0
1 / 1 / 0
Регистрация: 21.10.2008
Сообщений: 25
24.10.2008, 15:46
Решал и решаю эту проблему при помощи векторов, очень удобно.
C++
1
2
#include <vector> // 
std::vector<int> intVector; // declaration sample
Добавлено через 9 минут 16 секунд
IS, ты будешь реализовывать хеш функцию по госту или отсебятину делать? мне просто препод. сказал что это не обязательно(мол это уже совсем другой курсовик, можно обойтись обычным xor'ом всего файла), хотя в госте написано что хеш должен быть по госту...
0
IS
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
24.10.2008, 16:28  [ТС]
Цитата Сообщение от *bkmz Посмотреть сообщение
Решал и решаю эту проблему при помощи векторов, очень удобно.
Это проблема с размером массива? Надо будет тоже изучить вектора.

Цитата Сообщение от *bkmz Посмотреть сообщение
IS, ты будешь реализовывать хеш функцию по госту или отсебятину делать? мне просто препод. сказал что это не обязательно(мол это уже совсем другой курсовик, можно обойтись обычным xor'ом всего файла), хотя в госте написано что хеш должен быть по госту...
Ну у нас та же история - хэш делают другие люди. Пока планирую делать саму ЭЦП, а как будет готова хэш-функция (гост 3411) присстрою ее. Хотя пока не знаю как, ибо ее реализовывать будут на другом языке. И, вообще, тема курсовика называется "Шифрование и ЭЦП на основе эллиптической кривой", так, то выбор, что реализовывать есть.
0
IS
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
27.10.2008, 12:47  [ТС]
*bkmz, Как успехи?
WooDooMan, Есть вопрос. Надо создать массив из AnsiString и, например, обратиться к второй букве из третьего элемента массива. Как это реализовать?
С эти разобрался:
Code
1
W[3][2]
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
27.10.2008, 13:10
используй TStringList, ну а к буквам обращаться как и в массиве чаров, только учти тот факт, что у AnsiString нумерация идет c 1, это след дельфи в билдере
0
1 / 1 / 0
Регистрация: 21.10.2008
Сообщений: 25
27.10.2008, 15:40
IS, Все работает, осталось только доделать интерфейс и написать пояснительную записку. Хеш реализовывать не стал, но в теории его прикрепить можно будет.
0
IS
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
28.10.2008, 16:29  [ТС]
*bkmz, не помнишь сложение по модулю 2^32 это поразрядное xor или я ошибаюсь?

Добавлено через 4 часа 58 минут 23 секунды
*bkmz, Выложишь, потом, свой exe-шник, а то интересно глянуть, что у тебя получилось. Только, где-нибудь сделай крупную надпись "Разработано bkmz", чтобы копирлефт не произошел.
И еще, вместо хэша ты брал любое число длиною x бит?
0
1 / 1 / 0
Регистрация: 21.10.2008
Сообщений: 25
31.10.2008, 19:41
Стоит начать отмечать день рождения, как наступает послезавтра...

IS, под сложением по модулю 2^32 я понимаю, что сумма будет не больше 2^32. мб ошибаюсь но если судить по логике, то так должно быть.

В качестве хеша я брал упрощенный хеш файла. То есть считываю 32 байта (256 бит) из файла и побитово делаю xor со следующими 32 байтами.

Файл и инструкция как запустить - в личке)
0
IS
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
06.11.2008, 20:30  [ТС]
Вот нашел класс http://www.imach.uran.ru/cbignum/indexr.html для работы с длинными числами, но не знаю как его подключить. Что надо сделать, чтобы им пользоваться в билдере?

Добавлено через 1 час 7 минут 8 секунд
*bkmz, Проверил. Обнануть стандартными способами не смог (правда, есть идея с потоками в NTFS - может так обману). Что приятно удивило, так это скорость работы - думал, почту прочесть успею пока идет обработка, а нет, раз и готово.
P.S Оценка какая? Вас, кстати, каким языкам программирования обучали? У нас, только паскаль и ассемблер.

Добавлено через 8 часов 12 минут 22 секунды
Не создается масcив:
C++
1
2
3
4
5
6
7
8
9
10
11
void __fastcall TForm1::InPut (AnsiString AStr)
{
AnsiString BufStr;
int OsnLen=(IntToStr(Osn)).Length()-1;
const int ASize=AStr.Length();
int A[ASize];
 
for (int i=1; i<=OsnLen; i++) BufStr=AStr[i];
A[1]=StrToInt(BufStr);
 
}
Говорит [C++ Error] Unit1.cpp(22): E2313 Constant expression required. Мне надо создать массив количество элементов в котором завист от длины строки AStr.

Второй вопрос. Как скопировать из строки S1 в S2 6,7,8 символы?

Добавлено через 1 час 33 минуты 0 секунд
1) Как сделать, чтобы функция возвращала массив?
2) Можно ли, вывести весь массив без использования цикла?
0
1 / 1 / 0
Регистрация: 21.10.2008
Сообщений: 25
06.11.2008, 20:48
IS, оценки еще нет, так как надо все это еще оформить и дождаться пока приедет преподаватель.
На первом курсе давали С++, на втором был такой предмет, как методы программирования, там была Java, оч понравилась)

Знаю чтоб передать в фунцию массив можно передать указатель на его нулевой элемент, думаю обратно то же самое.
Динамическое выделение памяти под массив:
C++
1
2
int t[];
t = new int[size];
0
IS
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
07.11.2008, 17:50  [ТС]
*bkmz, С массивами разобрался.
Кстати, а как у Вас с мат. частью и кадрами? У нас, например, есть предмет Программно-Аппаратные Средства Обеспечения ИБ (ПАСОИБ), так вот, программую защиту вообще не рассматриваем т.к знания препода находятся ниже уровня usera. Зато, аппаратные более-менее нормально. Поиграли с высокоскоростным приемником Скорпион (поиск жучков), ставили подавляли некотрые частоты, сейчас играем с Стеной-105, предназначенной для защиты от утечки по вибро и вибро-акустическим каналам. Обещали привести индикатор поля "БЛИК-М" предназначен для обнаружения источников радиоизлучения. А, на теорию (Фурье, Котельников и Ко) похоже забили.

Добавлено через 20 часов 20 минут 18 секунд
Как научить CSinEdit увеличивать и уменьшать значение В 10 раз?
0
IS
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
10.11.2008, 09:25  [ТС]
WooDooMan, вот фрагмет кода для умножения
C++
1
2
3
4
5
6
7
8
9
        for (int i=1; i<=A[0]; i++)
                {
                __int64 BufInt64;
                BufInt64= A[i]*n+C1[i];
                C1[i+1] =  (BufInt64 / Osn);
                AnsiString BufStr=IntToStr(C1[i]);
                C1[i] = BufInt64 % Osn;
                Form1->MulLog->Lines->Add("i="+IntToStr(i)+" A[i]="+A[i]+" A[i]*n="+IntToStr(A[i]*n)+" BufInt64="+IntToStr(BufInt64)+" C1[i]="+BufStr+" C1[i]="+C1[i]+" перенос="+C1[i+1]);
                }
Вот, что выводит:
Osn=10000;
n=2000000;
i=1 A[i]=3274 A[i]*n=-2041934592 BufInt64=-2041934592 C1[i]=0 C1[i]=-4592 перенос=-204193
i=2 A[i]=58 A[i]*n=116000000 BufInt64=115795807 C1[i]=-204193 C1[i]=5807 перенос=11579
i=3 A[i]=1284 A[i]*n=-1726967296 BufInt64=-1726955717 C1[i]=11579 C1[i]=-5717 перенос=-172695
Как я понимаю выражение A[i]*n+C1[i] не лезет в int,поэтому я ввел буфер размерностью 64 бита. Но почему-то и туда не лезет. Где ошибка?

Как научить CSinEdit увеличивать и уменьшать значение В 10 раз?
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
10.11.2008, 09:45
да вообще ты должен был всего лишь попровить код сложения, там путем смещений получают числа, которые вмещаются в int, особо не изгаляйся, а просто код подправь сложения... потому что отрицательные числа при умножении двух положительных - это признак переполнения, значит числа длиннее 8 байт... следовательно, нужно обрезать, у тебя этот хитрый способ есть между прочим
0
IS
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
11.11.2008, 12:05  [ТС]
WooDooMan, код исправил
C++
1
2
3
4
5
6
7
8
9
        for (int i=1; i<=A1[0]; i++)
                {
                __int64 BufInt64;
                [B]BufInt64= (__int64) ((__int64)A1[i]*(__int64)n)+C1[i];[/B]
                C1[i+1] =  (BufInt64 / Osn);
                AnsiString BufStr=IntToStr(C1[i]);
                C1[i] = BufInt64 % Osn;
                Form1->MulLog->Lines->Add("i="+IntToStr(i)+" A1[i]="+A1[i]+" A1[i]*n="+IntToStr(A1[i]*n)+" BufInt64="+IntToStr(BufInt64)+" C1[i]="+BufStr+" C1[i]="+C1[i]+" перенос="+C1[i+1]);
                }
Похоже, вычисления выражения A[i]*n уже приводило к переполнению. Оно же 32 битное, а не 64 битное? Спасибо за помощь. Продолжаю дальше.

Добавлено через 21 час 50 минут 6 секунд
WooDooMan, есть вопрос.
1) Как научить CSinEdit увеличивать и уменьшать значение В 10 раз? (долго мучался, но так и не сделал, поэтому интересно).
2) Как можно сделать журнал (Log) подобным коду XML т.е группировать по общему родителю. Поясню на примере.
C++
1
2
3
4
5
6
7
8
9
for (int i=1; i<=A1[0]; i++)
                {
                __int64 BufInt64;
                BufInt64= (__int64) ((__int64)A1[i]*(__int64)n)+C1[i];
                C1[i+1] =  (BufInt64 / Osn);
                AnsiString BufStr=IntToStr(C1[i]);
                C1[i] = BufInt64 % Osn;
                Form1->MulLog->Lines->Add("i="+IntToStr(i)+" A1[i]="+A1[i]+" A1[i]*n="+IntToStr(A1[i]*n)+" BufInt64="+IntToStr(BufInt64)+" C1[i]="+BufStr+" C1[i]="+C1[i]+" перенос="+C1[i+1]);// надо, чтобы эта строка была подченена строке Операция Умножена
                }
т.е при нажатие на Операция умножения раскрывались выделенные к коде строки. Надеюсь понятно объяснил.
3) чем отличаются методы RichEdit1->Lines->Add() от RichEdit1->Lines->Append()

Добавлено через 22 минуты 37 секунд
4) Как можно настроить для AnsiString формат вывода (чтобы все было ровненько)?
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
11.11.2008, 12:06
1) не знаю, я с таким компонентом не игрался...
2) ну логи как поведешь, так и будут, пиши теги - будет хмл, я логирование когда и в html вел, но оно того не стоит, логи - это же отладочная инфа, зачем изголяться...
3) отличие простое, аппенд не возращает никакого значения, в отличие от адд
0
IS
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
11.11.2008, 17:45  [ТС]
Сделал, пока калькулятор для длинных чисел. Желающие, могу протестировать его. Просьба, сообщать о ошибках и неверных результатах, указав значения аргументов и выполняемую операцию.
http://slil.ru/26322490
0
IS
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
16.11.2008, 10:36  [ТС]
WooDooMan, кажись приступаю к реализации самого госта. Вопрос. Как можно использовать функции, написанные для калькулятора, в другом проекте? Надо учесть, что у меня при выполнении какой-либо операции ведется лог. Например:
Code
1
Form1->SubLog->Lines->Add("A="+OutPut(A)+" кол-во блоков="+A[0]);
Если в новом проекте не будет формы для журнала, то будет ли ругаться билдер?
Или, вообще, проще добавить к калькулятору новую форму и работать в ней?
http://slil.ru/26335252 - проект калькулятора.

Добавлено через 18 часов 49 минут 26 секунд
Решил добавить просто новую форму, но не могу вызвать ни фнкциии ни переменные определеные как public.
Unit1.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public:     // User declarations
         int CountBlock;
         int X[100],Y[100],Z[100],Ost[100];
         AnsiString NumStrIn;
 
 
        __fastcall TForm1(TComponent* Owner);
        void __fastcall TForm1::InPut (AnsiString NumStr, int Num[]);
        AnsiString __fastcall TForm1::OutPut (int Num[]);
        void __fastcall TForm1::Sum (int A[],int B[],int C[]);
        int __fastcall TForm1::Compare (int A[],int B[]);
        void __fastcall TForm1::Mul (int  A1[],int n, int C1[]);
        void __fastcall TForm1::Sub (int A[], int B[], int sp);
        void __fastcall TForm1::Div ( int A[], int B[], int Res[], int Ost[]);
        int __fastcall TForm1::FindBin(int Ost[],  int B[],  int sp);
        void __fastcall TForm1::MakeDel(int A[],int B[],int Res[],int Ost[]);
        void __fastcall TForm1::MakeDiv(int A[], int B[], int Res[],int Ost []);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
        int Osn=10000, OsnLen=IntToStr(Osn).Length()-1;
Как их вызвать?
P.S В Unit4310.cpp написал #include "Unit1.h"
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
17.11.2008, 09:13
да вообще необязательно все формами лепить, ты же можешь и как набор функций прилепить к проекту файл или как класс, это уже как удобно, а еще полезно к логам микронастройки - вести их вообще или нет, тогда все просто, в инициализации класса передал, что лог не вести и все нормально, прилепил окно журналирования, значит укажи вести лог и тоже будет тип-топ...
0
IS
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
17.11.2008, 14:15  [ТС]
WooDooMan, можно более подробно? Куда нажимать и что где надо писать.
Второе. Не могу понять.
Есть код сложения.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//--------Сумма
void __fastcall TForm1::Sum (int A[],int B[],int C[])
{
Form1->SumLog->Clear();
int CLen;
for (int i=0; i<=CountBlock; i++) C[i]=0;
if (A[0] > B[0]) CLen=A[0];
else CLen=B[0];
Form1->SumLog->Lines->Add("A="+OutPut(A)+" кол-во блоков="+A[0]);
Form1->SumLog->Lines->Add("B="+OutPut(B)+" кол-во блоков="+B[0]);
for (int i=1; i<=CLen; i++)
        {
        C[i+1]= (C[i] + A[i] + B[i]) / Osn;
        int BufInt=C[i];
        C[i]= (C[i] + A[i] + B[i]) % Osn;
        Form1->SumLog->Lines->Add("i="+IntToStr(i)+" A[i]="+IntToStr(A[i])+" B[i]="+IntToStr(B[i])+" BufInt="+IntToStr(BufInt)+" C[i]="+C[i]+" перенос="+C[i+1]);
        }
if (C[CLen+1]==0) C[0]=CLen;
else C[0]=CLen+1;
Form1->SumLog->Lines->Add("C="+OutPut(C)+" кол-во блоков="+C[0]);
Form1->MulLog->Lines->Add("A="+OutPut(A)+" кол-во блоков="+A[0]+" экспорт из Sum");
Form1->MulLog->Lines->Add("B="+OutPut(B)+" кол-во блоков="+B[0]+" экспорт из Sum");
}
и есть код умножения, где эта функция вызывается.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//---Умножение длинных чисел---
void __fastcall TForm1::MulLong (int AML [], int BML[],int CML[])  // LM - LongMul
{
int BufMas1[100], BufMas2[100];
for (int j=0; j<=100; j++)
        {
        BufMas1[j]=0;
        BufMas2[j]=0;
        CML[j]=0;
        }
CML[0]=1;
 
Form1->MulLog->Lines->Add("Умножение длинных чисел");
Form1->MulLog->Lines->Add("Основание="+IntToStr(Osn)+". Размер блоков ="+IntToStr(OsnLen));
Form1->MulLog->Lines->Add("AML="+OutPut(AML)+" кол-во блоков="+AML[0]);
Form1->MulLog->Lines->Add("BML="+OutPut(BML)+" кол-во блоков="+BML[0]);
Form1->MulLog->Lines->Add("CML="+OutPut(CML)+" кол-во блоков="+CML[0]);
 
for (int i=1; i<=BML[0]; i++)
        {
        for (int j=0; j<=BufMas2[0]; j++) BufMas2[j]=0;
        Mul(AML,BML[i],BufMas1);
         Form1->MulLog->Lines->Add("i="+IntToStr(i)+" BufMas1="+OutPut(AML)+" * "+OutPut(BML)+" = " +OutPut(BufMas1)+" кол-во блоков="+BufMas1[0]);
         for (int j=0; j<=4; j++) Form1->MulLog->Lines->Add(" j="+IntToStr(j)+" BufMas1[j]="+BufMas1[j]);
        Sum(CML,BufMas1,BufMas2);
         for (int j=0; j<=4; j++) Form1->MulLog->Lines->Add(" j="+IntToStr(j)+" BufMas1[j]="+BufMas1[j]+" после сложения");
         Form1->MulLog->Lines->Add("i="+IntToStr(i)+" CML="+OutPut(CML)+" + "+OutPut(BufMas1)+"="+OutPut(BufMas2)+" кол-во блоков="+BufMas2[0]);
        for (int j=0; j<=BufMas2[0]; j++) CML[j]=BufMas2[j];
 
        Form1->MulLog->Lines->Add("i="+IntToStr(i)+" CML="+OutPut(CML));
        }
}
Смотрим лог умножения (интересноt виделено жирным):
MulLog
Умножение длинных чисел
Основание=100000000. Размер блоков =8
AML=1000143123567 кол-во блоков=2
BML=2 кол-во блоков=1
CML=0 кол-во блоков=1
Умножение короткого чисела
Основание=100000000. Размер блоков =8
A=1000143123567 кол-во блоков=2
C= кол-во блоков=0 т.к C будет результат
i=1 A1[i]=43123567 A1[i]*n=86247134 BufInt64=86247134 C1[i]=0 C1[i]=86247134 перенос=0
i=2 A1[i]=10001 A1[i]*n=20002 BufInt64=20002 C1[i]=0 C1[i]=20002 перенос=0
C1=2000286247134 кол-во блоков=2
i=1 BufMas1=1000143123567 * 2 = 2000286247134 кол-во блоков=2
j=0 BufMas1[j]=2
j=1 BufMas1[j]=86247134
j=2 BufMas1[j]=20002
j=3 BufMas1[j]=0
j=4 BufMas1[j]=0
A=0 кол-во блоков=1 экспорт из Sum
B= кол-во блоков=0 экспорт из Sum
j=0 BufMas1[j]=0 после сложения
j=1 BufMas1[j]=86247134 после сложения
j=2 BufMas1[j]=20002 после сложения
j=3 BufMas1[j]=0 после сложения
j=4 BufMas1[j]=0 после сложения
i=1 CML=0 + =86247134 кол-во блоков=1
i=1 CML=86247134
теперь смотрим лог суммы:
A=0 кол-во блоков=1
B= кол-во блоков=0// т.е B[0]=0;
i=1 A[i]=0 B[i]=86247134 BufInt=0 C[i]=86247134 перенос=0
C=86247134 кол-во блоков=1
Почему не передается значение массива BufMas1 из функции умножения с индексом 0 в функцию суммы, а другие спокойно передаются???
P.S Если надо, то я могу скинуть проект.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
17.11.2008, 14:47
погоди, ну так на глаз - у тебя же цикл с 1 начинается, а вообще трассировать надо, мутноватый у тебя лог, если честно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.11.2008, 14:47

Работа с длинными числами (Delphi 7)
подскажите как написать программу в делфи 7 длинные числа(произведение)!плз!!

Функция с++ (работа с длинными числами - вывод результата в файл)
У меня есть проэкт с++ который использует динамическую библиотеку для работы с длинными числами. В проэкте я перегружаю операторы +,-,...

Действия с длинными числами
Ребята, нужна помощь. Информации нигде нет. Задача такова. Нужно провести арифметичексие действия с целыми числами не превышающие 30 цифр....

Сочетания с длинными числами
Нужно создать программу, которая вычисляла бы количество комбинаций для сочетания без повторения. По сути, сочетания C=n!/(m!(n-m)!)....

Операции с длинными числами
Друзья! Помогите пожалуйста. Мне надо составить программу, которая будет вычислять (сложить, вычитать, умножать) длинных чисел до 50 цифр. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru