我正在尝试创建一个将许可证有效时间与计算机时间进行比较的许可证系统。我想直接从“硬件”获取时间,这样就不可能通过更改操作系统(Windows)时间来欺骗许可证系统。
我试过谷歌搜索,但也许我不知道正确的关键字。我检查过的不同时间 API 没有明确说明它们是否依赖于操作系统。
你会使用什么 API 来解决这个问题?
没有什么可以阻止用户更改硬件 (BIOS) 时间。所以,如果你想依赖硬件,你也可以信任 Windows 系统时间。
一种方法是咨询 NTP 时间服务器。但要确定的是,您必须设置或使用一个 NTP 服务器,它会自我验证。
有关更多信息,请参阅NTP 常见问题验证。
但也要记住,这只有在有网络连接的情况下才有效。如果用户拔掉网线或关闭路由器,这种方法就会失效。