нужен хелп по програмированию

Обговорюєм операційні системи, усілякій софт, комп'ютерні ігри.

Модератор: Саня

Аватар користувача
Banzai
Активний учасник
Активний учасник
Повідомлень: 449
З нами з: Сер 25 січня 2006 р. 00:56
Звідки: Луцк

нужен хелп по програмированию

Повідомлення Banzai »

проргамеры!! нада ваш хелп!
проблема такая есть файл *.cls - вроде как VB6 на проекта к нему нету а нада скомпилировать в библиотеку , а лучше сконвертировать в VB.NET .... но айдее шестого басика нету :cry: а visual studio ругается на параметр ANY в соде подключения библиотек... и прочие непонятки у него... утилита конвертер от мс тоже хочет увидеть файл проекта.... геморой...
а ваще задача такая - для дипломной накатать прогу по алгоритму AES(Rijndael) причем главное шоб интерфейс был описан.... в самом аесе никто копаться не будет.... может у кого есть библиотека с исходниками ? на cpp или си шарпе или в виде дллки

кароче ХЕЛП!!!
Благодаря деятельности Удаффа неграмотных и ограниченных детей теперь называют не дебилами, а контркультурными писателями.
Зображення
Аватар користувача
mix_forever
Почесний учасник
Почесний учасник
Повідомлень: 520
З нами з: Сер 01 лютого 2006 р. 15:40
Контактна інформація:

Повідомлення mix_forever »

Десь в мене були реалізації різних алгоритмів... Але вони або на асмі або на делфях...
Я не злий - я програміст :)
Створюйте легенди про себе - боги починали з цього...
Аватар користувача
Banzai
Активний учасник
Активний учасник
Повідомлень: 449
З нами з: Сер 25 січня 2006 р. 00:56
Звідки: Луцк

Повідомлення Banzai »

mix_forever пасиба что откликнулся!!

я тут немного поипался и  вот задача в чемто упростилась - нашел реализацию на vcpp вроде 6 причем ms vs 2003 компилит солюшн без проблем....
http://black-banzai.mylivepage.ru/file/ ... jndael.rar (вставлять в бравзер тама будет прямая ссылка на файл)
но покуда мне нуна реальный оконный интерфейс (собстно интерфейс уже готов, на вижуал си шарпе дот нете - он мне ближе я его изучал для себя и даже пытался прогать) я стал морочится.... дабы создать dll из исходников на базе vcpp.net - на самом деле разница тока в описании пространства имен system .... далее избавился ото всех ошибок кроме одной...
в хедере есть дефинишн:
typedef unsigned char aes_byte;
typedef aes_byte aes_col[col_];
typedef aes_col aes_state[row_];


и функция манипуляции с ключом
void aes::add_round_key(aes_state s, aes_state k)
{
for(int i=0;i<row_;i++)
{
for(int j=0;j<col_;j++)
{
s[j]^=k[j];
}
}
}


и при вызове етой функции в виде -
add_round_key(s,key_sch[0]);
где оба параметра правильного типа вылазит ошибка-
error C2664: 'AESlib::aes::add_round_key' : cannot convert parameter 2 from 'AESlib::aes_state' to 'AESlib::aes_col []'


- невозможность конвертации типов!!! причем компилятор хочет сконвертить дочерний тип aes_state в aes_col [] ????
:shock: я себе голову сломал....
:o как вариант забить и компильнуть dll ку под win32.....
:evil:
Благодаря деятельности Удаффа неграмотных и ограниченных детей теперь называют не дебилами, а контркультурными писателями.
Зображення
Аватар користувача
sa_i
Учасник форуму
Учасник форуму
Повідомлень: 81
З нами з: Пон 24 квітня 2006 р. 15:16
Звідки: The Meadow

Повідомлення sa_i »

А як об"явлено key_sch?
Feel the Music Of Rivers And Rains
http://cc2.ru/ are well comes you
Аватар користувача
Banzai
Активний учасник
Активний учасник
Повідомлень: 449
З нами з: Сер 25 січня 2006 р. 00:56
Звідки: Луцк

Повідомлення Banzai »

исходник весит 10 кб

public __gc class aes
{
private:
aes_state key_sch __nogc [n_maxr]; где параметр- константа = int 11
Благодаря деятельности Удаффа неграмотных и ограниченных детей теперь называют не дебилами, а контркультурными писателями.
Зображення
Аватар користувача
Banzai
Активний учасник
Активний учасник
Повідомлень: 449
З нами з: Сер 25 січня 2006 р. 00:56
Звідки: Луцк

Повідомлення Banzai »

я тоже склоняюсь к тому что заморочка в етом параметре и именно в том как тут преобразуются ети массивы.... как извесно в дот нете строгий контроль типов.... он и рубит такие вольности
щас пытаюсь найти как явно преобразовать aes_state k = aes::key_sch[0];
ввел левую переменную проблемного типа....
ахтунг какойто... :(
Благодаря деятельности Удаффа неграмотных и ограниченных детей теперь называют не дебилами, а контркультурными писателями.
Зображення
Аватар користувача
Banzai
Активний учасник
Активний учасник
Повідомлень: 449
З нами з: Сер 25 січня 2006 р. 00:56
Звідки: Луцк

Повідомлення Banzai »

еврика!!! я понял чё компиллер не понял!!! ему собстна непонятно как преобразовать елемент массива типа type1 (напр) к переменной тогоже типа type1 :lol:
Благодаря деятельности Удаффа неграмотных и ограниченных детей теперь называют не дебилами, а контркультурными писателями.
Зображення
Alexandoros
Спамер
Спамер
Повідомлень: 462
З нами з: П'ят 03 лютого 2006 р. 16:11

Повідомлення Alexandoros »

Ги ахтунг. Нах ти його в шрап перекидаєш, якщо солюшн компілиться??????  Компіль длл з с++ коду. Яка длл в хрен різниця, на чому вона написана.  

"Створити собі проблему, а потім героїчно її вирішувати." - це тобі нікого не нагадує???
black закохав
Аватар користувача
Banzai
Активний учасник
Активний учасник
Повідомлень: 449
З нами з: Сер 25 січня 2006 р. 00:56
Звідки: Луцк

Повідомлення Banzai »

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

дело в том что мне из всей етой реализации алгоритма катит только сам алгоритм а а интерфейсные функции реализованы для работы с файлами  (мне нада кусок текста закодировать наглядно) в шарпе я ваял только интерфейс проги а из си ++ 6 переделывал в си дот нэт (ето тотже самый си ++ разница в том какие системные библиотеки использует компилятор std или namespase system)
конечно можно переписать интерфейсные функции в dll ке, но потом придется писать функции обертки для того чтобы заюзать библиотеку в среде дот нэт
вариант написать все в си++6 под win32 мне не катит покуда я не особо шарю в том как сделать оконный интерфейс проги именно в си под win32 (я просто в сях не работал и не смогу связять там ничё)


проблема моя очертилась до боли в глазах тупой (или слишком умный - как посмотреть)
компилятор при присваивании значения елемента массива переменной не делает автоматического преобразования типов хотя и переменная и массив ОДНОГО и ТОГОЖЕ ТИПА!!!

пока что немогу найти в инэте способа преобразования сложных типов или чёта такого.... :x
Благодаря деятельности Удаффа неграмотных и ограниченных детей теперь называют не дебилами, а контркультурными писателями.
Зображення
Alexandoros
Спамер
Спамер
Повідомлень: 462
З нами з: П'ят 03 лютого 2006 р. 16:11

Повідомлення Alexandoros »

Banzai писав: дело в том что мне из всей етой реализации алгоритма катит только сам алгоритм а а интерфейсные функции реализованы для работы с файлами  (мне нада кусок текста закодировать наглядно)

Ну дик і пиши длл, на основі проекту вс6 з 2-ма ф-ціями - енкріпт і декріпт.
Banzai писав: в шарпе я ваял только интерфейс проги а из си ++ 6 переделывал в си дот нэт (ето тотже самый си ++ разница в том какие системные библиотеки использует компилятор std или namespase system)

Срочно читати книжку "визуал студія для кохфейніков".

Banzai писав: конечно можно переписать интерфейсные функции в dll ке, но потом придется писать функции обертки для того чтобы заюзать библиотеку в среде дот нэт


Не прийдецця.
Banzai писав: вариант написать все в си++6 под win32 мне не катит покуда я не особо шарю в том как сделать оконный интерфейс проги именно в си под win32 (я просто в сях не работал и не смогу связять там ничё)

Banzai писав: проблема моя очертилась до боли в глазах тупой (или слишком умный - как посмотреть)
компилятор при присваивании значения елемента массива переменной не делает автоматического преобразования типов хотя и переменная и массив ОДНОГО и ТОГОЖЕ ТИПА!!!

пока что немогу найти в инэте способа преобразования сложных типов или чёта такого.... :x


Вах - вах. Банзай знайшов багу в компіляторі, ахуєть дайте 2. Іди в м$ працювати, будеш тестити продукти.

Білі люди викладують проект  в студію, і детально описують проблему, а не викладують своє розуміння оної. А ти нафігачив тут хз, за 2 місяці не розгребеш, чо є, і чо нада.
Аватар користувача
Poison
Модератор
Модератор
Повідомлень: 781
З нами з: Нед 03 липня 2005 р. 01:03
Стать: чоловіча
Звідки: Луцьк

Повідомлення Poison »

Alexandoros, ненаїзжай на людину ти краще на пальцах поясни ,ні хто зразу вумним  як вутка не народився всі вчились і ти заміть тоже колись на каку буба казав. :D Я розумію специфіка наших професій накладає відбиток на спілкуванні з людьми особливо з злими юзверями які за день достануть любу врівноважену людину ,але давайте хоч тут бути терпимішими один до одного.
Patria o Muerte
Аватар користувача
sa_i
Учасник форуму
Учасник форуму
Повідомлень: 81
З нами з: Пон 24 квітня 2006 р. 15:16
Звідки: The Meadow

Повідомлення sa_i »

Вай, скачав я той сорс. Наскільки я зрозумів, там просто передаються параметри виконуваному файлу. Не морочи собі дупи, скмпілюй і зроби надстройку вже над ехе =)
Якщо таке не влаштовує, тоді подумай над варіантом з длл.
дело в том что мне из всей етой реализации алгоритма катит только сам алгоритм а а интерфейсные функции реализованы для работы с файлами  (мне нада кусок текста закодировать наглядно)


EncryptFile(argv[2],argv[3],key);
В суть не вникав, але скоріш за все там виконується побайтне шифрування і самій прозі буде глибоко пох текст там чи не текст.

ЗІ і взагалі за такий код імхо вбивати треба.
ЗЗІ не люблю я все це ООП.
Feel the Music Of Rivers And Rains
http://cc2.ru/ are well comes you
Alexandoros
Спамер
Спамер
Повідомлень: 462
З нами з: П'ят 03 лютого 2006 р. 16:11

Повідомлення Alexandoros »

Poison писав: Alexandoros, ненаїзжай на людину ти краще на пальцах поясни ,ні хто зразу вумним  як вутка не народився всі вчились і ти заміть тоже колись на каку буба казав. :D Я розумію специфіка наших професій накладає відбиток на спілкуванні з людьми особливо з злими юзверями які за день достануть любу врівноважену людину ,але давайте хоч тут бути терпимішими один до одного.

хай свій проект викладе і скаже що не виходить
Аватар користувача
Banzai
Активний учасник
Активний учасник
Повідомлень: 449
З нами з: Сер 25 січня 2006 р. 00:56
Звідки: Луцк

Повідомлення Banzai »

Alexandoros, чувак!!! ты мне прям глаза открыл можна я буду называть тя - УЧИТЕЛЪ мастер Йода ?
ну вот хули пальцы гнуть ??? не можеш ничё толком посоветовать то нефиг выёбывацца...
проблему я описал достаточно четко - переменной не присваивается елемент масива и все больше проблем нету!
сорс я тоже почитал внимательно и код функций encrypt/decrypt (file1,file2,key) мне кристально ясен но МНЕ В МОЕЙ РАБОТЕ ЕТО НЕ НАДА ну небуду я файлы криптовать!! (в дальнейшем  я или перепишу их для работы со строками или накатаю их так как будет нужно)

напротив - беру готовый код (массивы и чистая математика независящая от платформы) и делаю dll на си нэт - нахожу баг при компиляции - пишу на форум чтоб подсказали :evil: чё тут непонятного???
на кой ляд мне советы - почитать мануал для даунофф, заботать за два дня си ++ и переписать всё подряд на нем и радовацца?
кстати Alexandoros,  стоило внимательнее прочитать посты я уже писал что делаю в .NET dll'ку из тех vc++6 сорсов и интерфейсные функции тут не причем потому что в основном класе возникает ошибка конвертации (пост №3 в етом топике)

vxk7m, - чертовски согласен - тот кто придумал ето все просто маньяк (при борьбе с етоим багом, компилятор говорил что-то про 44!!! - мерные массивы :o )

Poison,  знаеш мне не показалось что мой аппанент великий програмер - ничего конкретного я не видел , а вникнуть хотя бы в то что было написано он просто поленился

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

186кб http://black-banzai.mylivepage.ru/file/142/1391/AES.zip

зы  крайне сожалею о сием неконструктивном диалоге  :?
Благодаря деятельности Удаффа неграмотных и ограниченных детей теперь называют не дебилами, а контркультурными писателями.
Зображення
Аватар користувача
sa_i
Учасник форуму
Учасник форуму
Повідомлень: 81
З нами з: Пон 24 квітня 2006 р. 15:16
Звідки: The Meadow

Повідомлення sa_i »

Ок. Всерівно робити нема чого, тому покулупаю. Але оскільки дотнета в мене нема, тому все буде на угад. Коментарі я добавив. Ітак.
test.cpp from rijndael.zip

Код: Виділити все

void EncryptFile(char* name,char* codename,aes_byte* key)
{
	HANDLE hFile; 
	hFile = CreateFile(name,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); /*file to crypt*/
	if (hFile == INVALID_HANDLE_VALUE) 
	{ 
		    cout<<"Could not open file for reading";
	}
	HANDLE hCodeFile; 
	hCodeFile = CreateFile(codename,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); /*crypted file*/
	if (hCodeFile == INVALID_HANDLE_VALUE) 
	{ 
		    cout<<"Could not open file for reading";
	}

	aes_byte c;DWORD k,y;
	aes_byte in[16],out[16];
	DWORD fsize=GetFileSize(hFile,NULL); /*bytes to crypt*/
	int x=0;aes a;
	a.key(key);  /*third arg of function*/
	while(x<fsize)
	{
		y=0;
		while((x<fsize)&&(y<16))
		{
			ReadFile(hFile,&c,1,&k,NULL);   /*reading*/
			in[y]=c;
			y++;
		}
                 /*vvvvvvvv*/
		a.encrypt(in,out);   /*<<<crypt, AHTUNG!!!!*/
                 /*^^^^^^*/
		for(int i=0;i<16;i++)
		{
			c=out[i];
			WriteFile(hCodeFile,&c,1,&k,NULL);  /*writing encrypted data and othr sheet*/
		}
		x++;
	}
	CloseHandle(hFile);
	CloseHandle(hCodeFile);
}
І того робимо слідуючі висновки. Слід звернути увагу сюди >>> a.encrypt(in,out);
Вхід і вихід об"явлені так: aes_byte in[16],out[16];
Тому робимо висновок, що дані читаються, шифруюються і пишуться блоками по 16 байт. Постає закономірне запитання: що заважає нам самим формувати змінні in i out? Правильно, ніщо не заважає. Тому імхо буде доцільно поступити слідуючим чином: дати можливість ввести користувачеві текст в якесь мемо1, далі що він тисканув кнопку, по натиску кнопки читаємо дані з мемо1 по 16 байт (думаю це вже сам зробиш =), шофруємо, пишемо шифрований текст в мемо2. Ну все вроді.

ЗІ твій проект я скачав але не дивився, бо як тільки чую слово "дотнет" - блювати хочеться.
Feel the Music Of Rivers And Rains
http://cc2.ru/ are well comes you
Відповісти