Linux上怎么获得U盘物理序列号

Linux下如何获得U盘物理序列号
毕业设计要做一个Linux环境中基于U盘的信息加密系统,要取得U盘的物理序列号,经过MD5运算得到一个散列值,作为一个密钥进行文件的加密解密,但是不知道如何获得U盘的物理序列号,请各位高手指教。

C/C++ code

#include <stdio.h>
#include <sys/ioctl.h>
#include <linux/hdreg.h>
#include <sys/fcntl.h>

int main()
{
struct hd_driveid id;

int fd = open("/dev/hda", O_RDONLY|O_NONBLOCK);

if (fd < 0) {
perror("/dev/hda");
return 1; }

if(!ioctl(fd, HDIO_GET_IDENTITY, &id))
{
printf("Serial Number=%s\n",id.serial_no);
}

return 0;
}


cat /proc/scsi/usb-storage
Host scsi1: usb-storage
Vendor: Kingston
Product: DataTraveler 2.0
Serial Number: 001478081A5A5C8719160437
Protocol: Transparent SCSI
Transport: Bulk
Quirks:


mark


cat /proc/scsi/usb-storage/(usb口在主板上定义ID)

Linux上怎么获得U盘物理序列号

相关文章:

你感兴趣的文章:

标签云: