是的,所有这样的系统都可以被绕过,但大多数供应商采用的务实方法是使其足够困难以保持诚实的人诚实。一种流行的方法是使用部分密钥验证来与名称、许可证类型和日期进行许可证匹配。常见的做法是使用部分密钥验证:http://www.brandonstaggs.com/2007/07/26/implementing-a-partial-serial-number-verification-system-in-delphi/(快速搜索会找到其他实现和示例,但Brandon的实现很受推崇)。通过PKV方法,您可以在新版本的软件中更改测试而不使旧密钥失效。当您的系统被黑客攻击时(它一定会被攻击!),您将希望这样做。同样,将被黑客攻击的密钥列表保存下来,以便在您的程序的未来版本中自动过期这些密钥将是个好主意。