安全设备初始化接口 - 支持Base64编码和MD5校验的设备注册和初始化
路由注册:
mux.HandleFunc("/api/software/secure/initialize", r.softwareController.SecureDeviceInit)
处理函数:
r.softwareController.SecureDeviceInit
请求参数(安全格式):
{
"data": "string, required - Base64编码的设备数据",
"signature": "string, required - MD5签名",
"timestamp": "number, required - 时间戳"
}
data字段解码后的内容:
{
"deviceId": "string, required",
"deviceName": "string, required",
"macAddress": "string, required",
"osInfo": "string, required",
"softwareVersion": "string, required",
"timestamp": "number, required"
}
注意:IP地址将自动从HTTP请求中获取,无需在请求参数中提供
成功响应(安全格式):
{
"data": "string - Base64编码的响应数据",
"signature": "string - MD5签名",
"timestamp": "number - 时间戳"
}
data字段解码后的响应内容:
{
"isNewDevice": "boolean - 是否为新设备",
"isAvailable": "boolean - 设备是否可用",
"message": "string - 初始化信息"
}
安全特性:
• Base64编码传输数据
• MD5签名验证防止篡改
• 时间戳验证防止重放攻击
• 数据一致性校验
使用示例:
// 1. 准备状态检查数据
const statusData = {
deviceId: "device-001",
timestamp: Math.floor(Date.now() / 1000)
};
// 2. 打包为安全格式
const secureData = packSecureData(statusData, secretKey);
// 3. 发送请求
fetch('/api/software/secure/checkStatus', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(secureData)
});