二进制文件位于用作加密狗的 USB 密钥上。
我需要从密钥中获取唯一标识符。VendorID + DeviceID 是不可能的,因为如果 USB 密钥的型号相同,它们可能是相同的。
使用 Windows,我使用了一个功能GetVolumeInformation()
,它给我一个序列号,每次格式化设备时都会更改(不是问题)。
使用Unix,要得到相同的序列号,需要读取目录下对应的挂载文件/dev/
。但是这个操作需要root 访问权限,或者至少我需要成为特定组的一部分。
唯一标识符可能与 Win32 系统上的序列号不同。但是对于我将用于交付的每个 USB 密钥,它必须是不同的。
有任何想法吗 ?