Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2011, 13:12   #1
ZvEr_HaCkEr
VisualC++/DirectX
Форумчанин
 
Аватар для ZvEr_HaCkEr
 
Регистрация: 16.07.2010
Сообщений: 831
По умолчанию Алгоритм создания ключа

Здравствуйте, возникла генерации ключа к приложениям:

1)Создаем id на основе количества ядер, производителя процессора и типа оперативной памяти. Получаем, допустим, такой id 118346.
2)На основе id создаем строку(например ERASB428TFM), приписываем ключ, и получаем ERASB428TFMTYSDWPC.
3)Используя шифрование цезаря получаем строку FSBTC539UGNUZTEXQD.
4)Приписываем к получившейся строке ключ+первоначальную строку FSBTC539UGNUZTEXQDTYSDWPCERASB428TF M.
5)Рассчитываем процент от количества ядер к частоте оперативы, и получаем 0.08674
6)Парсим значение, получаем 008674
7)Приписываем получившееся число, после номера той буквы, значение которой соответствует числу ядер цп FSBT008674C539UGNUZTEXQDTYSDWPCERAS B428TFM
8)Удаляем каждый 7 символ FSBT00674C53UGNUZTXQDTYSWPCERAB428T F
9)После 9 символа приписываем половинное значение ключа FSBT00674TYSC53UGNUZTXQDTYSWPCERAB4 28TF
10)Переворачиваем строку FT824BARECPWSYTDQXTZUNGU35CSYT47600 TBSF
11)Смещаем строку относительно пятого символа, на значение равное длине ключа BARECPWFT824SYTDQXTZUNGU35CSYT47600 TBSF.
12)Удаляем предпоследнюю тройку символов
BARECPWFT824SYTDQXTZUNGU35CSYT476BS F

Адекватен ли алгоритм, стоит ли реализовывать или это пустая трата времени?

Последний раз редактировалось ZvEr_HaCkEr; 22.05.2011 в 14:53.
ZvEr_HaCkEr вне форума Ответить с цитированием
Старый 22.05.2011, 16:10   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

В офисе у меня на пяти машинах будет одинаковый ключ?
ЗЫ. Эти 5 компов заказывались вместе с совершенно идентичной начинкой.
pu4koff вне форума Ответить с цитированием
Старый 22.05.2011, 16:29   #3
ZvEr_HaCkEr
VisualC++/DirectX
Форумчанин
 
Аватар для ZvEr_HaCkEr
 
Регистрация: 16.07.2010
Сообщений: 831
По умолчанию

Тогда на основание чего генерировать id?
ЗЫ. есть идея получать имя пользователя, заносить в строку, парсить ее и приписывать к ключу каждый 2 символ имени со смещение 3 чара относительно первой буквы.

Последний раз редактировалось ZvEr_HaCkEr; 22.05.2011 в 16:37.
ZvEr_HaCkEr вне форума Ответить с цитированием
Старый 22.05.2011, 16:36   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от ZvEr_HaCkEr Посмотреть сообщение
Тогда на основание чего генерировать id?
Смотря для чего вообще это ID генерируется и как используется потом.
Если для защиты программы, то считаю бессмысленным с этим заморачиваться. Тут или покупать готовый продукт или забить и не париться.
Извраты с привязкой к серийным номерам винтов, мак адресам сетевых карт,... не люблю, ибо это добавляет проблем потратившимся на продукт пользователям (апгрейд железа делать не запретишь).
pu4koff вне форума Ответить с цитированием
Старый 22.05.2011, 20:40   #5
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от ZvEr_HaCkEr Посмотреть сообщение
1)Создаем id на основе количества ядер, производителя процессора и типа оперативной памяти. Получаем, допустим, такой id 118346.
2)На основе id создаем строку(например ERASB428TFM), приписываем ключ, и получаем ERASB428TFMTYSDWPC.
3)Используя шифрование цезаря получаем строку FSBTC539UGNUZTEXQD.
4)Приписываем к получившейся строке ключ+первоначальную строку FSBTC539UGNUZTEXQDTYSDWPCERASB428TF M.
5)Рассчитываем процент от количества ядер к частоте оперативы, и получаем 0.08674
6)Парсим значение, получаем 008674
7)Приписываем получившееся число, после номера той буквы, значение которой соответствует числу ядер цп FSBT008674C539UGNUZTEXQDTYSDWPCERAS B428TFM
8)Удаляем каждый 7 символ FSBT00674C53UGNUZTXQDTYSWPCERAB428T F
9)После 9 символа приписываем половинное значение ключа FSBT00674TYSC53UGNUZTXQDTYSWPCERAB4 28TF
10)Переворачиваем строку FT824BARECPWSYTDQXTZUNGU35CSYT47600 TBSF
11)Смещаем строку относительно пятого символа, на значение равное длине ключа BARECPWFT824SYTDQXTZUNGU35CSYT47600 TBSF.
12)Удаляем предпоследнюю тройку символов
BARECPWFT824SYTDQXTZUNGU35CSYT476BS F

Адекватен ли алгоритм, стоит ли реализовывать или это пустая трата времени?
именно такой алгоритм это точно пустая трата времени. можно и нужно намного проще, главное чтобы даже если знать алгоритм нельзя было узнать что было в начале.
например, берём что-то уникальное для компа (например MAC-адрес сетевой карты) и получаем от него SHA1 хэш, вот тебе и уникальный ключ. Основная проблема это найти что-то уникальное, когда-то я занимался этим вопросом но так ни к чему и не пришёл.
rpy3uH вне форума Ответить с цитированием
Старый 23.05.2011, 07:19   #6
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

С таким алгоритмом шифрования заморачиваться не стоит (для четырёх компов), если Вы не собираетесь управлять ракетным комплексом.
ID процессора, даже той-же марки, всегда уникален. Код, сгенерированный на их основе, будет уникальным для всех компов.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритм создания генеалогического древа NSV Общие вопросы Delphi 22 08.06.2018 04:58
Подскажыте програму для создания gif-анимаций, которые после создания не теряют четкости pufystyj Софт 1 24.02.2011 01:50
Алгоритм создания TEdit. Alex Cones Свободное общение 23 05.12.2010 21:39
алгоритм создания частотного словаря (двумерные массивы) Blueyeska Помощь студентам 1 09.06.2010 17:31
Алгоритм создания дерева Delphi VadEr Помощь студентам 5 03.11.2009 08:45