Самый распространенный способ - заставить программу применять только часть действующего алгоритма лицензии. Например, говорят, что лицензия выглядит следующим образом : UUUU-VVVV-WWWW-XXXX-YYYY-ZZZZ
. Алгоритм лицензии может потребовать, чтобы YYYY-ZZZZ
деталь имела определенную структуру. Но что касается программы, любая UUUU-VVVV-WWWW-XXXX
часть разрешена.
Тем не менее, производитель может выбрать серийные номера для тестирования. Например, UUUU
может идентифицировать реселлера, версию или идентификатор продукта. VVVV-WWWW
может быть последовательным для выдачи нескольких лицензий. Но XXXX
часть может быть основана на безопасном хеше UUUU-VVVV-WWWW
части.
Поскольку безопасный хэш не реализован в программе и не проверен ею, его можно хранить в полном секрете. Все допустимые ключи будут иметь правильный безопасный хеш, но ключи с недопустимым безопасным хешем, но с правильной YYYY-ZZZZ
частью будут работать в программном обеспечении, но должны быть сгенерированы генератором ключей.
Как правило, программа встраивает часть своего ключа в вещи. В этом примере, вероятно, UUUU-VVVV-WWWW-XXXX-YYY
часть. Этого достаточно, чтобы указать, чья это лицензия (если она была законной) и была ли она сгенерирована кейгеном, но недостаточно для использования лицензии для запуска программного обеспечения.