wil*_*ill 24
这完全取决于你想要的安全性......
Java的问题是您可以反向编译它.因此,如果有人想要,他们可以下载您的软件,反向编译它,然后删除您已经安装的任何安全性(然后根据需要重新分发它).
如果你计划进入大众市场并出售它并且盗版实际上是一个问题,这只是一个问题.
如果您不关心这一点,那么您可以选择在线或离线检查.
我合作的公司使用在线方法; 有几个步骤:
编辑:我已经改变了它的工作方式,因为旧的方式是维护噩梦.
namecompanyemailkey.即JDU8-AJS9-88DF-SASF-ASF9你经常看到的那种东西.要生成密钥,只需使用相同的散列函数,然后将散列值上传到您的服务器.
如果你想让它离线,你可以在我猜的代码中包含哈希值并在那里检查它们.
但是,我应该指出,我不是一个安全专家,我只是为一家公司开发博士学位.这就是我做到的.
编辑:此图片可能会有所帮助:

第二编辑:
我现在已经在此过程中包含了"离线验证".它不是真正的离线验证,它只是将用户用作代理 - 他们需要以另一种方式访问互联网.
它的工作原理如下:
每次程序成功验证在线时,它还会在许可文件中添加一个离线访问密码,这意味着它可以抵御临时的互联网停机时间,并且只有在互联网停机超过一周/月/无论多长时间后才会停止工作开始工作.