2011-12-20 2 views
2

Мы создаем приложение Windows C# 4.0. Мне нужно реализовать функциональность, в которой лицензионный ключ для приложения должен истекать каждую неделю, чтобы пользователь мог запросить команду для нового лицензионного ключа.Создание лицензионного ключа для Windows-приложения

Простая логика будет делать, и я не возражаю против взлома, поскольку это приложение используется только для организации.

Не могли бы вы предложить, как это можно сделать на примере C#?

+0

Кто вы защищаете? Случайные пользователи, люди, которые знают regedit, программисты, ... –

+0

http://stackoverflow.com/questions/4583630/serial-numbers-generation-without-user-data – meziantou

ответ

4

Я хотел бы использовать соленую хэш

Берешь что-то конкретное для них, такие, как их идентификационный номер клиента и другую идентифицирующую информацию. Вы помещаете его в строку, добавляя свой секретный ключ в качестве соли и хеш-значение (MD5? Sha1? Возьмите свой выбор ...)

Хэш-значение - это их ключ.

Если у них есть лицензия на сервер, рассмотрите возможность добавления адреса mac в строку pre-hash, чтобы они не могли скопировать лицензию на несколько серверов.

С учетом продолжительности лицензии подумайте о добавлении даты, созданной в строку pre-hash.

Еще одна вещь, которую следует учитывать, почему срок действия ключа истекает каждую неделю? Я имею в виду, если это внутренне для вашей организации, почему вам даже нужны лицензии? Не вы, ребята, в одной команде? (И под этим я подразумеваю, что все работают по одной и той же общей цели - улучшают ваше предприятие.)

Смежные вопросы