我是WPF的新手。我有使用MS SQL的WPF应用程序并将其发布,将其设置为客户端PC并且希望客户端仅使用自己的PC,无法复制该应用程序(使用数据库)并在其他PC中使用它。
我该如何预防?
我研究并知道使用PC的Mac Address
。要加密mac地址和应用程序开始检查加密的mac地址是否有效。但是,在这种情况下,用户可以更改其他PC的mac地址,并可以在那里使用应用程序。
有哪些方法(方法)可以解决我的问题?
答案 0 :(得分:1)
我正在研究为硬件设备上的计算机生成唯一密钥的最佳方法。
如果没有尝试使用复合键,即依赖于某个设备的某些独特特性,那么这些键实际上并不存在!
以下设备用于搜索唯一密钥:
每个设备都有两个属性:型号和序列号
但这是发生的事情:
一般来说,论坛上的很多人都会写一些经常遇到非唯一数量设备的人。
因此,唯一键的唯一选项可以是从不同设备的特征和其他计算机属性中收集的复合键。
由于系统的独特特性也可以考虑如下:系统UUID(通用唯一ID) - 这是系统的一些独特关键
唯一键的公式为:
HASH(MotherBoard.Product + MotherBoard.SerialNumber + PhysicalDisk.ModelNumber + PhysicalDisk.SerialNumber + ComputerSystemProduct.UUID)
上面的所有属性都可以通过WMI获得,但PhysicalDisk.SerialNumber并不总是出于未知原因。 您可以找到一些用于读取HDD序列号的C ++解决方案,但是我们决定采用通过WMI返回的光盘对象的Signuture值来替代PhysicalDisk.SerialNumber。