我的应用程序可以执行 5 个业务功能。我现在需要将其构建到应用程序的许可模型中。
我的想法是随应用程序一起发送一个“ key 文件”。该文件应包含一些加密数据,说明应用程序中哪些功能已启用,哪些未启用。我也想要它的半黑客证明,这样就不只是任何白痴都能弄清楚逻辑并“破解”它。
此文件的解密版本应包含例如:
BUSINESS FUNCTION 1 = ENABLED
BUSINESS FUNCTION 2 = DISABLED.... etc
你能给我一些关于如何做到这一点的想法吗?
最佳答案
虽然这绝对可以使用 Rijndael 来完成,但您也可以尝试使用非对称方法来解决该问题。要求应用程序在启动时使用公钥解密小设置文件,并且只向它们发送使用私钥加密的新配置文件。
根据您的配置文件的大小,与 Rijndael 算法相比,这将导致启动时的性能下降,但即使客户端反编译程序并获取您的公钥,它与配置文件无关因为他们没有私钥来制作新私钥。
当然,这一切都没有考虑反编译您的程序并删除所有检查的特别流氓客户......但无论您做什么,该客户都可能不会支付您的产品从而使您处于 yield 递减的境地,并且完全是一个全新的问题。
关于c# - 如何为我的程序获取 "enabled functions"许可证文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1476891/