本发明涉及计算机,特别涉及一种跨平台机器码获取方法、装置、设备和介质。
背景技术:
1、机器码是电子计算机中表示唯一性的一组编码,该编码通常用于系统监控、软件注册验证等,为验证过程提供加密、解密的依据。目前获取机器码的方式很多,有的使用自定义生成的guid编码作为机器码,有的使用网卡的mac地址作为机器码,还有使用cpu_id、硬盘id等,现有的获取机器码的方式不统一,且与实际的机器码不匹配,同时针对不同操作系统,不同平台的兼容性极差,使得需要针对每个系统设计对应的算法,进行匹配机器码。
技术实现思路
1、本发明要解决的技术问题,在于提供一种跨平台机器码获取方法、装置、设备和介质,基于该方法可精准有效的获取不同系统平台操作系统的机器码。
2、第一方面,本发明提供了一种跨平台机器码获取方法,包括:
3、步骤1、设计统一的一套接口规范,将每个系统的调用入口进行统一;
4、步骤2、若系统是linux系统,则先从/var/lib/dbus/machine-id文件读取机器码,如果读取不到再从/etc/machine-id文件读取机器码;
5、若系统是unix平台,则先通过/etc/hostid文件读取,失败则使用kenv-qsmbios.system.uuid命令查询机器码;
6、若系统是osx系统,则使用ioreg-rd1-c ioplatformexpertdevice|grepioplatformuuid命令查询机器码;
7、若系统是windows系统,则读取系统注册表值获取机器码,路径为hkey_local_machine\software\microsoft\cryptography.machineid。
8、进一步地,还包括步骤3、将整个查询过程保持日志记录,所述日志记录包括:操作系统平台、系统架构方案、操作系统名称以及操作系统内核版本。
9、第二方面,本发明提供了一种跨平台机器码获取装置,包括:
10、接口模块,设计统一的一套接口规范,将每个系统的调用入口进行统一;
11、查询获取模块,若系统是linux系统,则先从/var/lib/dbus/machine-id文件读取机器码,如果读取不到再从/etc/machine-id文件读取机器码;
12、若系统是unix平台,则先通过/etc/hostid文件读取,失败则使用kenv-qsmbios.system.uuid命令查询机器码;
13、若系统是osx系统,则使用ioreg-rd1-c ioplatformexpertdevice|grepioplatformuuid命令查询机器码;
14、若系统是windows系统,则读取系统注册表值获取机器码,路径为hkey_local_machine\software\microsoft\cryptography.machineid。
15、进一步地,还包括日志记录模块,将整个查询过程保持日志记录,所述日志记录包括:操作系统平台、系统架构方案、操作系统名称以及操作系统内核版本。
16、第三方面,本发明提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
17、第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
18、本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:通过该方法解决了多操作系统、多平台、多架构之间获取机器码混乱的问题,提升了机器码获取的效率、准确性、易用性,该方法的提出有益于不同编程语言的功能实现,提供了一个统一的获取标准;对于多语言、多系统应用的组织用户而言,降低了机器码获取功能实现的差异性,形成了统一的技术方案,加强了异构团队之间的交流,减少了组织用户的总体成本。
19、本申请实施例提供的一种跨平台机器码获取方法、装置、设备和介质,。
20、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
1.一种跨平台机器码获取方法,其特征在于,包括:
2.根据权利要求1所述的一种跨平台机器码获取方法,其特征在于,还包括步骤3、将整个查询过程保持日志记录,所述日志记录包括:操作系统平台、系统架构方案、操作系统名称以及操作系统内核版本。
3.一种跨平台机器码获取装置,其特征在于,包括:
4.根据权利要求3所述的一种跨平台机器码获取装置,其特征在于,还包括日志记录模块,将整个查询过程保持日志记录,所述日志记录包括:操作系统平台、系统架构方案、操作系统名称以及操作系统内核版本。
5.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1和2任一项所述的方法。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1和2任一项所述的方法。