linux c硬盘序列号,linux下获得硬盘序列号的c源代码
本代码利用linux的hdparm命令,结合pipe管道技术巧妙的获得硬盘序列号,可方便的用于软件的加密或认证领域char buf[256],info[1024]={0};char *pos;int i;snbuf[0]=0;fp=popen("hdparm -i /dev/hda","r");if(fp){while(fgets(buf,sizeof(buf),fp)){i=strlen(inf
本代码利用linux的hdparm命令,结合pipe管道技术巧妙的获得硬盘序列号,可方便的用于软件的加密或认证领域
char buf[256],info[1024]={0};
char *pos;
int i;
snbuf[0]=0;
fp=popen("hdparm -i /dev/hda","r");
if(fp)
{
while(fgets(buf,sizeof(buf),fp))
{
i=strlen(info)+strlen(buf);
if(i>1023)break;
strcat(info,buf);
}
pos=strcasestr(info,"SerialNo=");
if(pos)pos+=9;
i=0;
while(pos)
{
if((*pos<=’Z’&&*pos>=’A’)
||(*pos<=’z’&&*pos>=’a’)
||(*pos<=’9’&&*pos>=’0′)
||(*pos==’ ‘))
{
snbuf[i]=*pos;
i++;
if(i>buflen-10)break;
pos++;
}
else
{
break;
}
}
snbuf[i]=0;
}
pclose(fp);
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)