|
|
|
| Какими алгоритмами можно зашифровать регистрационные данные (номер хдд, процессора, имя компа и т.п.). Ведь символы должны быть доступны с клавиатуры. Существуют ли готовые алгоритмы или нужно придумывать самому? Особенно интересует шифрование текстовых данных. | |
|
| |
|
|
|
| Вот один из способов шифрования данных http://hiprog.com/index.php?option=com_content&task=view&id=251661649 или можно почитать http://hiprog.com/forum/read.php?id_forum=1&id_theme=5252&page=1 или посмотри на http://hiprog.com | |
|
| |
|
|
|
| Фраза "символы должны быть доступны с клавиатуры" - непонятна, что имеется ввиду?
вот еще хеш функция
http://hiprog.com/index.php?option=com_content&task=view&id=251661648&Itemid=35 | |
|
| |
|
|
|
| Хотелось бы узнать, каким образом грамотные люди шифруют свои рег ключи (хотя бы направление для мысли). В моей проге ключ содержит имя фирмы, это помимо "железной" инфы, поэтому его длина ок 200 символов. Некрасиво как то А по поводу "доступны с клавиатуры", имелось ввиду, что ключ то пользователь должен будет ввести с клавы, шифры типа blowfish не подойдут. Спасибо за ссылку на md5. На первый взгляд понравилась | |
|
| |
|
|
|
| ключ то пользователь должен будет ввести с клавы, шифры типа blowfish не подойду |
Непонял почему не подойдет...
Что мешает зашифровать данные полученные с клавиатуры? чем они отличаются от строки в БД. Если посмотрите пример, то там тоже шифруются данные веденные с клавиатуры.
Судя по описанию вашей задачи, Вам как раз не подойдет MD5, т.к. в этом случае РАСшифровать зашифрованную строку невозможно, а значит нельзя извлечь "имя фирмы" | |
|
| |
|
|
|
| Пользователь должен будет ввести ключ, полученный от разработчика в поле, а вдруг он не знает про "ctrl+c"?! Blowfish выдает иероглифы. это хорошо для шифрования именно данных.
А что, если имя фирмы не использовать в ключе, а сохранять его где-нибудь в БД в момент регистрации и проверять периодически? Тогда md5 может подойти | |
|
| |
|
|
|
| во-первых любой символ можно представить его кодом
во-вторых что-то я Вас не понимаю. Может опишите свой механизм проверки?
Я себе это представляю так
1. пользователь скачивает и устанавливает программу
2. При запуске генериться некий код на основе выбранного алгоритма (можно и шифрования) из набора данных (название фирмы, номер винта, номер процессора и т.п.)
3. код отправляется автору можно вместе с набором нужных данных
4. автор проверяет валидность кода (можно расшифровкой, можно снова шифрованием исходных данных и сравнением с присланным кодом)
5. Автор генерит ключ активации на основании присланного кода по определенному алгоритму и отправляет его пользователю
6. пользователь вводит этот ключ в программу.
7. Программа при запуске на основании кода пользователя генерит ключ и сравнивает его с сохраненным ключем (можно с кодами символов из которых он состоит) | |
|
| |
|
|
|
| у меня именно так. Вопрос по пункту 5: "определенный алгоритм" - это функции типа md5 и blowfish или нечто другое, например замена одних символов в присланном коде другими? У меня сделана замена символов, после чего из полученной строки беру несколько частей , но есть подозрение, что это ненадежно. | |
|
| |
|
|
|
| Можно привязать базу к компу.При установке на компьютере и первом запуске программа опрашивает компьютер и формирует уникальную контрольную сумму, которая называется "Регистрационный номер". При формировании этого номера можно ограничиться серийным номером диска, а можно пойти дальше (процессор, имя компьютера в сети, пользователь и т.д.). Далее программа осуществляет преобразование регистрационного номера (можно пофантазировать, XOR и т.д.) в "регистрационный ключ". "Регистрационный номер" предъявляется пользователю, а в ответ пользователь должен ввести "регистрационный ключ", который программа сравнит со своим. Пользователь должен связаться с разработчиком и сообщить "регистрационный номер" программы. Разработчик должен (запустив спец.процедуру регистрации) сообщить пользователю "регистрационный ключ". Пользователь вводит "регистрационный ключ". Если он правильный, то программа запоминает его и при дальнейших запусках не опрашивает пользователя. Удобный способ для защиты и распространения продукта.
Зашита от несанкционированного копирования , описание и пример http://accessoft.ru/Text/Text203.html или http://hiprog.com/forum/read.php?id_forum=1&id_theme=2987 | |
|
| |
|
|
|
| я не специалист в криптозащите.
Но на мой взгляд тут задачи разные.
при шифровании задача что бы из зашифрованной строки нельзя быпо получить исходную строку не зная ключа
т.е. нужно держать в тайне ключ (алгоритм скрывать совершенно необязательно)
в Вашем случае нужно, что бы нельзя было сгенерить код соответсвующий некоторым параметрам
т.е. вам нужно держать в тайне параметры которые вы используете для получения кода и алгоритм его получения.
Вы сможете скрыть какие именно данные вы используете, но сами-то данные у пользователя есть (номер винта, название фирмы и т.д., он просто может не знать что вы их используете) т.е. основным становится сокрытие алгоритма получения ключа.
Самым просстым мне кажется забить в код пограммы пароль с помощью которого будут шифроваться нужные данные, в качестве ключа присылать некие данные пользователя зашифрованные этим ключем. И при старте программы проверять соответствие зашифрованных строк. | |
|
| |
|
|
|
| вроде как сообразил наконец Оказывается заблудился, что называется в двух соснах Нужно немного доработать свой алгоритмик. Osmor, k@s - спасибо за поддержку! | |
|
| |
|
|
|
| поищите по слову "стеганография"
я реализовал один из вариантов - "прячу" информацию в картинке и считываю её из неё :) | |
|
| |