Шифрование данных | |
---|---|
bell Автор Сообщений: 167 Откуда: Харьков Дата регистрации: 04.04.2002 |
Я тут задавал пару вопросов по поводу шифрования данных с помощью класса _cryptapi:
forum.foxclub.ru forum.foxclub.ru К сожалению, на второй вопрос ответов так и не дождался. Может быть, мало кто юзает класс _cryptapi? Поделитесь, пожалуйста, кто как шифрует пароли и прочие данные. ------------------ |
Re: Шифрование данных | |
---|---|
TAS Сообщений: 851 Откуда: Москва Дата регистрации: 28.09.2000 |
На твои вопросы могут ответить разработчики - они регулярно проводят семинары, правда стоит это дорого
Можно попробовать шифровать следующим образом: capicom.h
программа:
Полная бесплатность гарантируется . Однако я не владею информацией о совместимости алгоритмов на разных версиях виндов, однако думаю что сдесь использовался принцип обратной совместимости: что есть в 98, то будет и в XP отрабатываться правильно. |
Re: Шифрование данных | |
---|---|
piva Сообщений: 18655 Откуда: Курган Дата регистрации: 24.03.2004 |
Еще там есть прикольная функция шифрования
forum.foxclub.ru ------------------ Часто бывает так, что есть над чем задуматься, а нечем. |
Re: Шифрование данных | |
---|---|
Shardim Сообщений: 166 Дата регистрации: 15.10.2003 |
Смотря, как ты хочешь шифровать с помощью сертификатов или без них. В любом случае рекомендую всетаки использовать CryptoAPI, а не надстройки над ним. Получется сложнее, но делай чего хочеш. Лично я написал под свои нужды небольшую DLL.
|
Re: Шифрование данных | |
---|---|
bell Автор Сообщений: 167 Откуда: Харьков Дата регистрации: 04.04.2002 |
2 Shardim
Я бы использовал CryptoAPI, но у меня проблема, которую я изложил здесь: forum.foxclub.ru Шифрую на машине под Win98, а расшифровать на другой под WinXP не могу. У тебя такого не случалось? |
Re: Шифрование данных | |
---|---|
bell Автор Сообщений: 167 Откуда: Харьков Дата регистрации: 04.04.2002 |
2 piva
Спасибо за ссылку на твою прикольную функцию. Я ее уже и сам нашел. Склоняюсь к тому, чтобы использовать ее и отказаться от CryptoAPI. |
Re: Шифрование данных | |
---|---|
piva Сообщений: 18655 Откуда: Курган Дата регистрации: 24.03.2004 |
Пробовал пример с CAPICOM заметна длина шифрованной части - только хвост меняется
------------------ Часто бывает так, что есть над чем задуматься, а нечем. |
Re: Шифрование данных | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi bell!
Явно нужно задавать и тип крипто-провайдера, и алгоритм, и используемую длину ключа... Ориентируясь конечно именно на "Base ..." провейдера, т.к. в Win98 другого обычно нету. ------------------ WBR, Igor |
Re: Шифрование данных | |
---|---|
bell Автор Сообщений: 167 Откуда: Харьков Дата регистрации: 04.04.2002 |
Hi Igor!
Решил все-таки проверить твое предложение, но не понял, как явно задать тип крипто-провайдера, алгоритм, используемую длину ключа? Судя по коду класса _cryptapi, все это "Defined in WinCrypt.h", то есть после Build будет зашито в exe! |
Re: Шифрование данных | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi bell!
Приведи пример кода, работающего не так как требуется в разных ОС, а то там много чего понакручено в crypt.vcx ------------------ WBR, Igor |
Re: Шифрование данных | |
---|---|
bell Автор Сообщений: 167 Откуда: Харьков Дата регистрации: 04.04.2002 |
Hi Igor!
Код шифрования:
|
Re: Шифрование данных | |
---|---|
bell Автор Сообщений: 167 Откуда: Харьков Дата регистрации: 04.04.2002 |
Ну, вот посмотрел на свой код и все понял. Конечно, для проверки введенного пароля мне нужно его не дешифровать, а опять зашифровать и сравнить с предварительно зашифрованным и сохраненным в v_users.cPassword.
Правильный код "дешифрования":
Непонятно только, как это работало на машинах с Win98 и WinME, а сказалось на машине с WinXP. Отредактировано (12.04.05 19:03) ------------------ |
Re: Шифрование данных | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi bell!
Ну слава богу, а то я уж запланировал Win98 дома реанимировать Кстати ты бы сразу сказал что тебе нужно пароли хранить - есть способ проще (и IMHO лучше) - не шифровать пароль, а хранить его хэш - например MD5 - во-первых подобрать по хэшу пароль весьма сложно (есть правда один сайтик где ломают MD5 хеши - ну и там до пары суток могут трудится, а хеши есть и по другим алгоритмам посчитанные . Во-вторых код получения хеша достаточно прост, и наконец хеш всегда занимает фиксированное число байт - т.е. сам пароль можно разрешить вводить хоть на 5 страниц мелким почерком - MD5 в любом случае будет размером 128 бит (16 байт если НЕ переводить в "читабельный" вид (поле типа С(16) NOCPTRANS) и 32 байта если в виде HEX строки хранить)... ------------------ WBR, Igor |
Re: Шифрование данных | |
---|---|
bell Автор Сообщений: 167 Откуда: Харьков Дата регистрации: 04.04.2002 |
Hi Igor!
Сразу бы и привел код получения хеша или дал ссылку. |
Re: Шифрование данных | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi bell!
Сделав поиск по MD5 можно получить ответ гораздо быстрее, чем ожидая тут... forum.foxclub.ru ------------------ WBR, Igor |
Re: Шифрование данных | |
---|---|
bell Автор Сообщений: 167 Откуда: Харьков Дата регистрации: 04.04.2002 |
Hi Igor!
Цитата:Спасибо за ссылку. Я искал в новом форуме, а про старый забыл. Рано я отрапортовал о закрытии проблемы. После исправления кода проверки пароля нашлась даже машина с Win98, на которой не распознался пароль. Точнее, на всех машинах в моей рабочей сети все нормально, а на других отдельных машинах или в других локальных сетях выскакивают сообщения "Error: " и/или "Неверный пароль." Более точный код проверки пароля:
В каких случаях EncryptSessionStreamString возвращает .F. ? Нужно ли задать NOCPTRANS для поля v_users.cPassword, в котором хранится зашифрованный пароль? Может ли отсутствовать "Microsoft Base Cryptographic Provider v1.0" на данной машине? Не нужно ли его устанавливать? |
Re: Шифрование данных | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi bell!
Цитата:Очевидно когда не смог зашифровать... А это процесс сложный, этапов несколько - получение ключа, собственно шифрация... Цитата:Конечно - там же бинарные данные. Цитата:Интересный вопрос! Попробуй посоветовать тем бедолагам накатить все имеющиеся SP/HotFix на винду, установить максимально возможную версию IE (ну хотя-бы 5.5). Если не поможет, то переставить с нуля винду (если это Win98 и ничего приличнее не тянет, то лучше чтобы заменили на Win98 SE - с проверенного дистрибутива). ------------------ WBR, Igor |
Re: Шифрование данных | |
---|---|
bell Автор Сообщений: 167 Откуда: Харьков Дата регистрации: 04.04.2002 |
Hi Igor!
По поводу шифрования паролей решил все-таки не связываться с CryptoAPI. По поводу хеширования данных: наверное, следует ожидать аналогичные проблемы на разных машинах? |
Re: Шифрование данных | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi bell!
Не знаю, шифрованием сам вплотную не занимался, а хеш он и в Африке хеш (уж куда как проще чем шифрование со всей его кучей параметров и "умолчаний" - типа тех что были из-за запрета экспорта криптостойких алгоритмов из США ) - не веришь Windows CryptoAPI - возьми реализацию в dll-ке, или вообще чисто фоксовую (IMHO это конечно извращение, но такая процедура для MD5 есть скажем на fox.wikis.com) ------------------ WBR, Igor |
Re: Шифрование данных | |
---|---|
Димон Ш |
Зачем закатывать солнце вручную. В инете лежат ActiveX компоненты для шифрования, чем тебе они не подходят?
|
© 2000-2024 Fox Club  |