Существует два разных варианта «защиты данных активации», которые я вижу:
1) Если вы пытаетесь защитить данные активации от пользователя, чтобы пользователь не мог скопировать данные на другой компьютер и использовать там программное обеспечение, я предлагаю следующий протокол:
Во время активации уникально идентифицирующие функции среды пользователя хэшируются и отправляются на сервер активации. Сервер активации генерирует активацию, подписанную с использованием секретного ключа. При запуске продукта ваш продукт проверяет, что активация была подписана вашим сервером (с использованием открытого ключа сервера) и что локальная среда хэширует то же подписанное значение, которое содержится в активации. Если происходит сбой, то среда либо изменяется (новая установка операционной системы?), Либо данные переносятся в новую среду, требующую (по звукам) новую лицензию / активацию. В любом случае, пользователю требуется новая активация.
2) Если вы пытаетесь защитить данные активации от повреждения, рассмотрите возможность дополнения предыдущего протокола логикой, которая, если клиент пытается повторно активировать с тем же UID, разрешит повторную активацию, что должно в результате идентичный экземпляр активации будет отправлен обратно клиенту.
Это не так, я не гарантирую, что любой из них будет пуленепробиваемым. Кроме того, помните, пират должен только обойти проверку для активации, чтобы быть спорным вопросом.
Кроме того, я чувствую, что важно отметить, что с этой схемой идея состоит в том, что вам не нужно никуда скрывать информацию об активации. Вы можете хранить его там, где вам удобно.