нужен хелп по програмированию
Модератор: Саня
нужен хелп по програмированию
проргамеры!! нада ваш хелп!
проблема такая есть файл *.cls - вроде как VB6 на проекта к нему нету а нада скомпилировать в библиотеку , а лучше сконвертировать в VB.NET .... но айдее шестого басика нету а visual studio ругается на параметр ANY в соде подключения библиотек... и прочие непонятки у него... утилита конвертер от мс тоже хочет увидеть файл проекта.... геморой...
а ваще задача такая - для дипломной накатать прогу по алгоритму AES(Rijndael) причем главное шоб интерфейс был описан.... в самом аесе никто копаться не будет.... может у кого есть библиотека с исходниками ? на cpp или си шарпе или в виде дллки
кароче ХЕЛП!!!
проблема такая есть файл *.cls - вроде как VB6 на проекта к нему нету а нада скомпилировать в библиотеку , а лучше сконвертировать в VB.NET .... но айдее шестого басика нету а visual studio ругается на параметр ANY в соде подключения библиотек... и прочие непонятки у него... утилита конвертер от мс тоже хочет увидеть файл проекта.... геморой...
а ваще задача такая - для дипломной накатать прогу по алгоритму AES(Rijndael) причем главное шоб интерфейс был описан.... в самом аесе никто копаться не будет.... может у кого есть библиотека с исходниками ? на cpp или си шарпе или в виде дллки
кароче ХЕЛП!!!
Благодаря деятельности Удаффа неграмотных и ограниченных детей теперь называют не дебилами, а контркультурными писателями.
- mix_forever
- Почесний учасник
- Повідомлень: 520
- З нами з: Сер 01 лютого 2006 р. 15:40
- Контактна інформація:
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 [] ????
я себе голову сломал....
как вариант забить и компильнуть dll ку под win32.....
я тут немного поипался и вот задача в чемто упростилась - нашел реализацию на 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 [] ????
я себе голову сломал....
как вариант забить и компильнуть dll ку под win32.....
Благодаря деятельности Удаффа неграмотных и ограниченных детей теперь называют не дебилами, а контркультурными писателями.
я тоже склоняюсь к тому что заморочка в етом параметре и именно в том как тут преобразуются ети массивы.... как извесно в дот нете строгий контроль типов.... он и рубит такие вольности
щас пытаюсь найти как явно преобразовать aes_state k = aes::key_sch[0];
ввел левую переменную проблемного типа....
ахтунг какойто...
щас пытаюсь найти как явно преобразовать aes_state k = aes::key_sch[0];
ввел левую переменную проблемного типа....
ахтунг какойто...
Благодаря деятельности Удаффа неграмотных и ограниченных детей теперь называют не дебилами, а контркультурными писателями.
-
- Спамер
- Повідомлень: 462
- З нами з: П'ят 03 лютого 2006 р. 16:11
нет ничего не напоминает.... я исхожу из объективных реалий и желания морочиться ради прикола нету
дело в том что мне из всей етой реализации алгоритма катит только сам алгоритм а а интерфейсные функции реализованы для работы с файлами (мне нада кусок текста закодировать наглядно) в шарпе я ваял только интерфейс проги а из си ++ 6 переделывал в си дот нэт (ето тотже самый си ++ разница в том какие системные библиотеки использует компилятор std или namespase system)
конечно можно переписать интерфейсные функции в dll ке, но потом придется писать функции обертки для того чтобы заюзать библиотеку в среде дот нэт
вариант написать все в си++6 под win32 мне не катит покуда я не особо шарю в том как сделать оконный интерфейс проги именно в си под win32 (я просто в сях не работал и не смогу связять там ничё)
проблема моя очертилась до боли в глазах тупой (или слишком умный - как посмотреть)
компилятор при присваивании значения елемента массива переменной не делает автоматического преобразования типов хотя и переменная и массив ОДНОГО и ТОГОЖЕ ТИПА!!!
пока что немогу найти в инэте способа преобразования сложных типов или чёта такого....
дело в том что мне из всей етой реализации алгоритма катит только сам алгоритм а а интерфейсные функции реализованы для работы с файлами (мне нада кусок текста закодировать наглядно) в шарпе я ваял только интерфейс проги а из си ++ 6 переделывал в си дот нэт (ето тотже самый си ++ разница в том какие системные библиотеки использует компилятор std или namespase system)
конечно можно переписать интерфейсные функции в dll ке, но потом придется писать функции обертки для того чтобы заюзать библиотеку в среде дот нэт
вариант написать все в си++6 под win32 мне не катит покуда я не особо шарю в том как сделать оконный интерфейс проги именно в си под win32 (я просто в сях не работал и не смогу связять там ничё)
проблема моя очертилась до боли в глазах тупой (или слишком умный - как посмотреть)
компилятор при присваивании значения елемента массива переменной не делает автоматического преобразования типов хотя и переменная и массив ОДНОГО и ТОГОЖЕ ТИПА!!!
пока что немогу найти в инэте способа преобразования сложных типов или чёта такого....
Благодаря деятельности Удаффа неграмотных и ограниченных детей теперь называют не дебилами, а контркультурными писателями.
-
- Спамер
- Повідомлень: 462
- З нами з: П'ят 03 лютого 2006 р. 16:11
Banzai писав: дело в том что мне из всей етой реализации алгоритма катит только сам алгоритм а а интерфейсные функции реализованы для работы с файлами (мне нада кусок текста закодировать наглядно)
Ну дик і пиши длл, на основі проекту вс6 з 2-ма ф-ціями - енкріпт і декріпт.
Banzai писав: в шарпе я ваял только интерфейс проги а из си ++ 6 переделывал в си дот нэт (ето тотже самый си ++ разница в том какие системные библиотеки использует компилятор std или namespase system)
Срочно читати книжку "визуал студія для кохфейніков".
Banzai писав: конечно можно переписать интерфейсные функции в dll ке, но потом придется писать функции обертки для того чтобы заюзать библиотеку в среде дот нэт
Не прийдецця.
Banzai писав: вариант написать все в си++6 под win32 мне не катит покуда я не особо шарю в том как сделать оконный интерфейс проги именно в си под win32 (я просто в сях не работал и не смогу связять там ничё)
Banzai писав: проблема моя очертилась до боли в глазах тупой (или слишком умный - как посмотреть)
компилятор при присваивании значения елемента массива переменной не делает автоматического преобразования типов хотя и переменная и массив ОДНОГО и ТОГОЖЕ ТИПА!!!
пока что немогу найти в инэте способа преобразования сложных типов или чёта такого....
Вах - вах. Банзай знайшов багу в компіляторі, ахуєть дайте 2. Іди в м$ працювати, будеш тестити продукти.
Білі люди викладують проект в студію, і детально описують проблему, а не викладують своє розуміння оної. А ти нафігачив тут хз, за 2 місяці не розгребеш, чо є, і чо нада.
- Poison
- Модератор
- Повідомлень: 781
- З нами з: Нед 03 липня 2005 р. 01:03
- Стать: чоловіча
- Звідки: Луцьк
Alexandoros, ненаїзжай на людину ти краще на пальцах поясни ,ні хто зразу вумним як вутка не народився всі вчились і ти заміть тоже колись на каку буба казав. Я розумію специфіка наших професій накладає відбиток на спілкуванні з людьми особливо з злими юзверями які за день достануть любу врівноважену людину ,але давайте хоч тут бути терпимішими один до одного.
Patria o Muerte
Вай, скачав я той сорс. Наскільки я зрозумів, там просто передаються параметри виконуваному файлу. Не морочи собі дупи, скмпілюй і зроби надстройку вже над ехе =)
Якщо таке не влаштовує, тоді подумай над варіантом з длл.
EncryptFile(argv[2],argv[3],key);
В суть не вникав, але скоріш за все там виконується побайтне шифрування і самій прозі буде глибоко пох текст там чи не текст.
ЗІ і взагалі за такий код імхо вбивати треба.
ЗЗІ не люблю я все це ООП.
Якщо таке не влаштовує, тоді подумай над варіантом з длл.
дело в том что мне из всей етой реализации алгоритма катит только сам алгоритм а а интерфейсные функции реализованы для работы с файлами (мне нада кусок текста закодировать наглядно)
EncryptFile(argv[2],argv[3],key);
В суть не вникав, але скоріш за все там виконується побайтне шифрування і самій прозі буде глибоко пох текст там чи не текст.
ЗІ і взагалі за такий код імхо вбивати треба.
ЗЗІ не люблю я все це ООП.
Feel the Music Of Rivers And Rains
http://cc2.ru/ are well comes you
http://cc2.ru/ are well comes you
-
- Спамер
- Повідомлень: 462
- З нами з: П'ят 03 лютого 2006 р. 16:11
Poison писав: Alexandoros, ненаїзжай на людину ти краще на пальцах поясни ,ні хто зразу вумним як вутка не народився всі вчились і ти заміть тоже колись на каку буба казав. Я розумію специфіка наших професій накладає відбиток на спілкуванні з людьми особливо з злими юзверями які за день достануть любу врівноважену людину ,але давайте хоч тут бути терпимішими один до одного.
хай свій проект викладе і скаже що не виходить
Alexandoros, чувак!!! ты мне прям глаза открыл можна я буду называть тя - УЧИТЕЛЪ мастер Йода ?
ну вот хули пальцы гнуть ??? не можеш ничё толком посоветовать то нефиг выёбывацца...
проблему я описал достаточно четко - переменной не присваивается елемент масива и все больше проблем нету!
сорс я тоже почитал внимательно и код функций encrypt/decrypt (file1,file2,key) мне кристально ясен но МНЕ В МОЕЙ РАБОТЕ ЕТО НЕ НАДА ну небуду я файлы криптовать!! (в дальнейшем я или перепишу их для работы со строками или накатаю их так как будет нужно)
напротив - беру готовый код (массивы и чистая математика независящая от платформы) и делаю dll на си нэт - нахожу баг при компиляции - пишу на форум чтоб подсказали чё тут непонятного???
на кой ляд мне советы - почитать мануал для даунофф, заботать за два дня си ++ и переписать всё подряд на нем и радовацца?
кстати Alexandoros, стоило внимательнее прочитать посты я уже писал что делаю в .NET dll'ку из тех vc++6 сорсов и интерфейсные функции тут не причем потому что в основном класе возникает ошибка конвертации (пост №3 в етом топике)
vxk7m, - чертовски согласен - тот кто придумал ето все просто маньяк (при борьбе с етоим багом, компилятор говорил что-то про 44!!! - мерные массивы )
Poison, знаеш мне не показалось что мой аппанент великий програмер - ничего конкретного я не видел , а вникнуть хотя бы в то что было написано он просто поленился
на всякий случай выложу проблемный салюшн может всётаки возникнут у когонить здравые мысли...
186кб http://black-banzai.mylivepage.ru/file/142/1391/AES.zip
зы крайне сожалею о сием неконструктивном диалоге :?
ну вот хули пальцы гнуть ??? не можеш ничё толком посоветовать то нефиг выёбывацца...
проблему я описал достаточно четко - переменной не присваивается елемент масива и все больше проблем нету!
сорс я тоже почитал внимательно и код функций encrypt/decrypt (file1,file2,key) мне кристально ясен но МНЕ В МОЕЙ РАБОТЕ ЕТО НЕ НАДА ну небуду я файлы криптовать!! (в дальнейшем я или перепишу их для работы со строками или накатаю их так как будет нужно)
напротив - беру готовый код (массивы и чистая математика независящая от платформы) и делаю dll на си нэт - нахожу баг при компиляции - пишу на форум чтоб подсказали чё тут непонятного???
на кой ляд мне советы - почитать мануал для даунофф, заботать за два дня си ++ и переписать всё подряд на нем и радовацца?
кстати Alexandoros, стоило внимательнее прочитать посты я уже писал что делаю в .NET dll'ку из тех vc++6 сорсов и интерфейсные функции тут не причем потому что в основном класе возникает ошибка конвертации (пост №3 в етом топике)
vxk7m, - чертовски согласен - тот кто придумал ето все просто маньяк (при борьбе с етоим багом, компилятор говорил что-то про 44!!! - мерные массивы )
Poison, знаеш мне не показалось что мой аппанент великий програмер - ничего конкретного я не видел , а вникнуть хотя бы в то что было написано он просто поленился
на всякий случай выложу проблемный салюшн может всётаки возникнут у когонить здравые мысли...
186кб http://black-banzai.mylivepage.ru/file/142/1391/AES.zip
зы крайне сожалею о сием неконструктивном диалоге :?
Благодаря деятельности Удаффа неграмотных и ограниченных детей теперь называют не дебилами, а контркультурными писателями.
Ок. Всерівно робити нема чого, тому покулупаю. Але оскільки дотнета в мене нема, тому все буде на угад. Коментарі я добавив. Ітак.
test.cpp from rijndael.zip
І того робимо слідуючі висновки. Слід звернути увагу сюди >>> a.encrypt(in,out);
Вхід і вихід об"явлені так: aes_byte in[16],out[16];
Тому робимо висновок, що дані читаються, шифруюються і пишуться блоками по 16 байт. Постає закономірне запитання: що заважає нам самим формувати змінні in i out? Правильно, ніщо не заважає. Тому імхо буде доцільно поступити слідуючим чином: дати можливість ввести користувачеві текст в якесь мемо1, далі що він тисканув кнопку, по натиску кнопки читаємо дані з мемо1 по 16 байт (думаю це вже сам зробиш =), шофруємо, пишемо шифрований текст в мемо2. Ну все вроді.
ЗІ твій проект я скачав але не дивився, бо як тільки чую слово "дотнет" - блювати хочеться.
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);
}
Вхід і вихід об"явлені так: 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
http://cc2.ru/ are well comes you