c++ - 基于软件/硬件唯一标识PC

标签 c++ security winapi hardware-id

对于生成每台 PC 许可证 key 的要求,我需要一些代码,这些代码将在任何 PC 上返回一个稳定且(几乎)唯一的 key 。它不必保证唯一,但很接近。不过,它确实需要相当稳定,以便给定的 PC 始终生成相同的结果,除非硬件发生重大变化。

这适用于 Windows 应用程序,使用 wxWidgets 但 Win32 或其他选项没问题。

我在考虑 MAC 地址,但在省电模式下可以例行禁用网卡的笔记本电脑呢?我遇到了GetCurrentHwProfile但它看起来不太像我想要的?

最佳答案

我之前有一个想法是使用 CryptProtectData作为识别机器的一种方式。在该 API 的幕后,Microsoft 已经完成了您要查找的内容。不过我从未测试过它,我很好奇它是否真的可行。

基本上,您会使用 CryptProtectDataCRYPTPROTECT_LOCAL_MACHINE 对常量魔法值进行编码,结果就是您的机器 ID。

关于c++ - 基于软件/硬件唯一标识PC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3636115/

相关文章:

c++ - XLib 窗口名称问题

c++ - 如何声明具有特定大小的多维数组?

java - 如何为多个程序共享变量?

c++ - 如何创建没有透明内容的完全透明窗口?

listview - 在ListView win32 API中获取所选项目

windows - IOCP 接收和发送

c++ - 为什么我不能将 lambda 转换为 void* 然后转换为函数指针?

asp.net-mvc - ASP.NET MVC 中的 AntiForgeryToken 是否可以防止所有 CSRF 攻击?

security - CORS 和 XSS 有什么联系吗?

c# - 在 session 中存储散列密码是不可取的吗?