Я работаю над новой схемой лицензирования своего программного обеспечения, основанной на шифровании открытого/закрытого ключа OpenSSL. Мой предыдущий подход, основан на этой статье заключался в использовании закрытого ключа большого размера и шифровании хэш-строки SHA1, которую я отправил заказчику в виде файла лицензии (хэш, закодированный в base64, имеет длину около абзаца). Я знаю, что кто-то все еще мог легко взломать мое приложение, но это помешало кому-то сделать генератор ключей, что, я думаю, в долгосрочной перспективе навредило бы больше.
По разным причинам я хочу отказаться от файлов лицензий и просто отправить по электронной почте 16-символьную строку base32, которую клиент может ввести в приложение. Даже используя небольшие закрытые ключи (которые, как я понимаю, взломать тривиально), трудно получить такой маленький зашифрованный хэш. Будет ли какая-либо польза от использования той же стратегии для создания зашифрованного хэша, но просто с использованием первых 16 символов в качестве лицензионного ключа? Если нет, есть ли лучшая альтернатива, которая будет создавать ключи в нужном мне формате?