| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Шифрование\разшифрование файлов |
| Автор: Kirgston 12.5.2009, 16:23 | ||
| Всем доброго времени суток! Вот на делфях у меня была библиотека для работы с файлами и просто строками (шифрование\разшифрование). Просто забыл название... и не могу вспомнить :( Вот как обявлял...
И это... подскажите хорошие либы для шифрования\дешифрации Заранее больше спасибо! |
| Автор: artsb 12.5.2009, 16:58 |
| Kirgston, глянь http://algolist.manual.ru/. |
| Автор: Alca 12.5.2009, 17:36 |
| http://www.openssl.org/ |
| Автор: vikaz 12.5.2009, 18:01 |
CryptoAPI. http://forum.vingrad.ru/forum/topic-243538.html |
| Автор: Kirgston 12.5.2009, 19:05 |
| Ребята спасибо вам за полезную информацию. Остановился я на Крипто ++ . Вроде всё что надо - есть =) а вот посмотреть как работать с ней не могу :( мануал на сайте не доступен... в гугле также примеров не нашёл... может кто то раскажет? Или примерчик? |
| Автор: artsb 12.5.2009, 20:24 |
http://forum.vingrad.ru/forum/topic-243538.html#st_15_view_0 |
| Автор: Kirgston 12.5.2009, 20:45 |
| Да видел... но я что то не заметил чтобы были какие-либо обращения к Crypt++. Вот например я первый раз буду работать с этой либой. Я ничего не понимаю что и куда ))) с гугле воооообще ничего не нашёл :( ниодного примера :( а этот пример вроде работает с CryptAPI... |
| Автор: artsb 12.5.2009, 22:26 |
| Kirgston, ты букву о потерял Вот пара ссылок: http://www.rsdn.ru/forum/message/172861.flat.aspx#172861 http://rfd.rsdn.ru/forum/message/1237553.flat.aspx http://ftp.rsdn.ru/forum/message/1512780.flat.aspx#1512780 http://rfd.rsdn.ru/forum/message/1060276.aspx - объемная тема Там есть такая особенность - может отображаться только первый пост. Чтобы увидеть остальные клацни по кнопке "Посмотреть все ответы темы". |
| Автор: Kirgston 12.5.2009, 22:34 |
| О пасибки! Действительно )))))) потерял и смотрю что ничего нету )))))) а ещё смежный вопросик... а вот по теме которую вы мне дали. Там есть пример. Так какая там шифрация? Мне бы например хотелось RC6 но там вроде "самопал" ? |
| Автор: artsb 12.5.2009, 22:55 | ||
Какая ссылка? http://softsearch.ru/programs/14-386-rc6-s-c-library-download.shtml http://forum.shelek.ru/index.php/topic,7210.0.html http://www.delphisources.ru/pages/faq/base/rc6_encryption.html |
| Автор: mrbrooks 13.5.2009, 08:05 |
| Kirgston, не знаю советовали или нет - по ссылкам влом гулять но в 2009 версии Борман предлагает свое решение. EncodeStream/DecodeStream EncodeString/DecodeString EncodeBase64/DecodeBase64 Живет вся эта красота не земная в EncdDecd.hpp. Очень кошерный функционал. |
| Автор: xvr 13.5.2009, 14:43 | ||
Это все банальный base64 - с шифрованием не имеет НИЧЕГО общего |
| Автор: mrbrooks 13.5.2009, 15:10 |
Это для тебя банальный, для автора, возможно, будет достаточно. |
| Автор: xvr 13.5.2009, 17:06 | ||
Автор хотел RC6, так что base64 будет явно недостаточно. Тогда уж лучше запаковать (например через zlib), и то будет более похоже на шифрование |
| Автор: Kirgston 14.5.2009, 14:05 |
| Ребята я очень признателен что вы помогаете такому оболдую как я! А не могли бы вы написать маленький примерчик с Крипто++ ?... а то я что то его понять совсем не могу... как с ним работать?... очень прошу помочь! =) просто с прошлой либой (пример которой я выложил в верху для Делфи) проблем небыло вообще!... там и мануал нормальный и примеры... а тут просто кусок библиотеки. Как хочешь так и работай :( . Особенно если я не спец... то мне очень тяжело... помогите пожалуйста! |
| Автор: xvr 14.5.2009, 16:19 | ||
Сюда http://www.cryptopp.com/wiki/User_Guide:_cryptlib.h смотрел? |
| Автор: Kirgston 14.5.2009, 22:10 |
| Извините не нашёл =) щас изучал внимательно... на сколько я вижу там нету шифрования... там есть рандомное число, есть взять хеш или как его там =) ну контрольную сумму... а примера шифрования нету :( очень жаль что нету понятного мануала :( я то понимаю что профи разобратся легко, но не чайникам. Бегал по форумах и смотрел что очень много людей не знают как работать с либой. Даже те кто хорошо знает криптографию имеют проблемы :( |
| Автор: artsb 14.5.2009, 22:56 | ||
Может тогда выбрать другую. |
| Автор: Alca 14.5.2009, 23:05 | ||
Какую? |
| Автор: artsb 15.5.2009, 00:21 |
Я ими никогда не пользовался (не было необходимости), но больше чем уверен, что их много. И тут уже, что Kirgston выберет. |
| Автор: mrbrooks 15.5.2009, 07:47 |
| Kirgston, да не парься камрад. делай как я посоветовал, если срочно надо - в свободное же время планомерно изучай доки к этому Cripto имхо. |
| Автор: xvr 15.5.2009, 10:10 | ||
Тебе нужен http://www.cryptopp.com/wiki/User_Guide:_filters.h#StreamCipherFilter. Еще - http://www.cryptopp.com/wiki/User_Guide:_eccrypto.h http://www.cryptopp.com/wiki/User_Guide:_rsa.h и отсюда и далее - http://www.cryptopp.com/wiki/User_Guide:_Header_Files#Stream_Ciphers |
| Автор: Kirgston 15.5.2009, 19:57 |
| Пасибки ребятки! =) щас буду потихоньку всё читать и изучивать =) может что то и толковое получится =) |
| Автор: Kirgston 16.5.2009, 18:52 |
| Ребята как я вижу Crypto++ и Crypto API вроде похожи. Ну то есть АПИ - встроено в винде, ++ вроде какбы имеет свою библиотеку. Но у меня такой вопросик... что лучше изучать? Что надёжней? Большая ли разница в надёжности? Спасибо! |
| Автор: xvr 16.5.2009, 21:31 | ||||||||
Кроме слова 'Crypto' в названии больше ничего общего нет
|
| Автор: Kirgston 16.5.2009, 22:21 | ||
Ой пардон! Просто исходил от того что название похоже + и то шифрует и то =)
Неа =) ни то ни то =) разве вся мультиплатформенность сводится к поддержке 98го =) а если по реальней надо просто чтобы работало на платформах Вин серв, ХР, Виста , Вин 7, ну и на 64ех битниках, маки, линуксы, юники и т.д. не нужны =) |
| Автор: xvr 17.5.2009, 10:18 | ||||
Тогда лучше взять CryptoAPI, оно все же встроенное. А еще лучше взять CAPICOM, он проще, чем CryptoAPI |
| Автор: Kirgston 17.5.2009, 10:29 |
| Спасибо большое! =) Ну мне главное не как простота... а надёжность =) если надо будет сильно посидеть и попотеть то уж никуда не денусь =) для меня главное качество а не скорость ;) |
| Автор: xvr 17.5.2009, 12:31 | ||
Все эти API реализуют одни и те же алгоритмы, так что качество у них одинаковое. Бери то, что проще применить |
| Автор: Alca 19.5.2009, 10:59 |
| http://temp.rsdn.ru/Forum/Info/FAQ.mfc.wincrypto.aspx |
| Автор: Kirgston 23.5.2009, 09:40 | ||
Пасибки но как вы заметили тут Билдер =) Ребята... вот нашёл статейку http://www.rsdn.ru/article/crypto/usingcryptoapi.xml Вроде ознакомился со всем =) Но вот у меня возникла проблемка.
Запускаю... и... вижу странную штуку... если консольное приложение то всё проходит на 90% ура. Но после криптовки текста ... текст выходит...выходит... а выходит он таким каким и вошёл... то есть char string[]="Test"; std::cout << "Encryption completed" << std::endl//так же будет Тест... ничего вообще какбудто не произошло.... Потом сделал уже форменное приложение а там оно мне начало ругатся... точнее не хотело генерировать ключик. Почему - незнаю... всё сделал как было представлено в мануале. Может мануал не такой? =) не подходящий? =) может есть какие - либо другие? =) Заранее очень благодарен |
| Автор: xvr 23.5.2009, 18:43 | ||||
Должно работать. Программа точно выглядит именно так? Проверки на ошибки правильные?
|
| Автор: Kirgston 23.5.2009, 19:29 |
| Ну да именно так =) точнее вместо Error (ошибка) я её вывожу. Типа cout<<key gen error . Ну не ошибки... но скажем просто ничего не происходит. Я взял и вписал как там было if (!...) и мне выбило типа ошибка генерации ключа. То есть не программная ошибка. А просто в случае если ключ не сгенится то я вывожу что нету ключа. Так именно и вывело =) нету ключа =) |
| Автор: Kirgston 23.5.2009, 22:13 |
| Вот посмотрите сами... почему так я сам не знаю... |
| Автор: xvr 23.5.2009, 22:59 | ||||
Посмотрел. Правда 2009 CG у меня нет, собрал на 2006. Все работает, ключи генерит, текст шифрует. Я вставил вместо последней строки в программе это:
Может какие то заморочки с Unicode'ом в CG 2009? |
| Автор: Kirgston 23.5.2009, 23:31 |
| хе хе ))) Cryptographic provider initialized CryptGenKey Error Session key generated CryptEncrypt Error Encryption completed Encrypted string: 54657374 каждый раз получаю одну и ту же строку =)не знаете изза чего это может быть? |
| Автор: xvr 24.5.2009, 09:29 | ||||||||
Из за этого -
и это перед всеми 'Error' выдачами
Посмотрим, что за ошибки |
| Автор: Kirgston 24.5.2009, 10:54 |
| Получил : Cryptographic provider initialized 80090022: Поставщик не смог выполнить действие, поскольку контекст был получен как "тихий". CryptGenKey Error Session key generated 00000057: Параметр задан неверно. CryptEncrypt Error Encryption completed Encrypted string: 54657374 о_О а что такое тихий контекст? ))) |
| Автор: Kirgston 24.5.2009, 11:20 |
| А да и кстати... вот в компоненте RichEdit есть 2 входящих параметра при записи\чтении в\из потока. Первый непосредственно сам поток, а второй TEncode *Encode . Что такое этот второй параметр? =) это же вроде так же крипт? Конечно я не говорю что он мне сейчас подходит, но просто стало интересно т.к. раньше даже не замечал его =) |
| Автор: xvr 24.5.2009, 23:14 | ||||||||||
Про 'тихий' контекст сказано в описании CryptAcquireContext (точнее ее параметре flags, бит CRYPT_SILENT)
Добавлено через 11 минут и 18 секунд Нашел ошибку - в CryptGenKey параметры CRYPT_ENCRYPT и CRYPT_DECRYPT заданны не верно, они вообще для другой функции. Для CryptGenKey они соответствуют CRYPT_EXPORTABLE и CRYPT_USER_PROTECTED Для последнего написано:
|
| Автор: yudinetz 26.8.2009, 14:51 |
| так все-таки, если провайдер просит гуи интерфейс, то что делать-то? у меня консольное приложение, функция CryptAcquireContext вылетает с ошибкой этого тихого контекста. |
| Автор: xvr 28.8.2009, 11:12 |
| Читать мой предыдущий ответ - от 'Добавлено через 11 минут и 18 секунд' и далее |