前言:
发文近些年越来越少,这并非自己所愿。但是确实感觉没什么好写的,尤其是工作中遇到的一些问题,如果很容易Google到答案,那我是肯定不会再自己赘述一遍的。再就是感觉工作愈发枯燥,心里也是惴惴不安,如果工作环境,内容,团队,缺乏激情,就应该慎重考虑一下了!这样并不是自己想要的~恰巧工作中遇到的这个问题,解决费了很大功夫,并且Google,Baidu上资料很少,没有找到现成的解决方案,所以就有了此文。以希望后来人遇到此问题时,能检索到此文,给予帮助。
场景:
首先场景时发生在自己写的量化交易客户端软件上,券商交易,要求记录用户操作计算机的IP,网卡MAC地址,硬盘序列号信息。其中IP与网卡MAC地址是很容易获取到的,硬盘序列号其实获取也不难,只不过在低版本Windows系统行就有了坑,比如Windows7,通过相关命令获取到的并不是真正的序列号,而是经过每4位HEX字符经过little endian的总长为40为的字符串。比如:
命令:wmic diskdrive get serialnumber | wmic path win32_physicalmedia get SerialNumber | wmic path Win32_DiskDrive get SerialNumber
结果:32535554574e4741314134313532204a20202020
而通过专业软件获取到的真实硬盘序列号:S2TUNWAGA11425J