在機器視覺或者一些傳統制造業行業里經常牽扯到軟件加密算法,或者一些簡單的加密,比如相機綁定,或者USB接口綁定之類的,那么針對這些硬件設備綁定加密方式,我這里簡單的提供一個方法來實現:
方法很簡單,從設備管理器里查找關心的USB設備,對比PID,VID和全球唯一標識GUID,當然被別人在驅動層掛了鉤子修改注冊表內容,這個方法就不適用了。以下是代碼:
#pragma once
#include <afx.h>
#include <DShow.h>
#include <Windows.h>
#include <setupapi.h>
#include <vector>
#pragma comment(lib, "setupapi.lib")
/*
打開設備管理器里可以查看對應USB接口的詳細信息
已配置設備 USB\VID_1E2F&PID_9801&MI_00\6&1a040c39&0&0000
VID 對應已配置信息的VID_1E2F
PID 對應已配置信息的PID_9801
類 GUID: {C166523C-FE0C-4A94-A586-F1A80CFBBF3E}
下面的GUID分別是16進制方式表示
GUID1 0xC166523C
GUID2 0xFE0C
GUID3 0x4A94
GUID4 0xA586
GUID5 0xF1A80CFBBF3E返回值:
返回TRUE 表示驗證成功
返回FALSE 表示驗證失敗
*/
class UsbSerialnumberBasicInfo {
public:CString m_VID;CString m_PID;int m_GUID1;int m_GUID2;int m_GUID3;int m_GUID4;long long int m_GUID5;UsbS