一种跨平台机器码获取方法、装置、设备和介质制造方法及图纸

技术编号:37674359 阅读:10 留言:0更新日期:2023-05-26 04:38
本发明专利技术提供一种跨平台机器码获取方法、装置、设备和介质,方法包括:设计统一的一套接口规范,将每个系统的调用入口进行统一;若系统是Linux系统,则先从/var/lib/dbus/machine

【技术实现步骤摘要】
一种跨平台机器码获取方法、装置、设备和介质


[0001]本专利技术涉及计算机
,特别涉及一种跨平台机器码获取方法、装置、设备和介质。

技术介绍

[0002]机器码是电子计算机中表示唯一性的一组编码,该编码通常用于系统监控、软件注册验证等,为验证过程提供加密、解密的依据。目前获取机器码的方式很多,有的使用自定义生成的GUID编码作为机器码,有的使用网卡的MAC地址作为机器码,还有使用cpu_id、硬盘ID等,现有的获取机器码的方式不统一,且与实际的机器码不匹配,同时针对不同操作系统,不同平台的兼容性极差,使得需要针对每个系统设计对应的算法,进行匹配机器码。

技术实现思路

[0003]本专利技术要解决的技术问题,在于提供一种跨平台机器码获取方法、装置、设备和介质,基于该方法可精准有效的获取不同系统平台操作系统的机器码。
[0004]第一方面,本专利技术提供了一种跨平台机器码获取方法,包括:
[0005]步骤1、设计统一的一套接口规范,将每个系统的调用入口进行统一;
[0006]步骤2、若系统是Linux系统,则先从/var/lib/dbus/machine

id文件读取机器码,如果读取不到再从/etc/machine

id文件读取机器码;
[0007]若系统是Unix平台,则先通过/etc/hostid文件读取,失败则使用kenv

qsmbios.system.uuid命令查询机器码;
[0008]若系统是OSX系统,则使用ioreg

rd1

c IOPlatformExpertDevice|grep IOPlatformUUID命令查询机器码;
[0009]若系统是windows系统,则读取系统注册表值获取机器码,路径为HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography.MachineID。
[0010]进一步地,还包括步骤3、将整个查询过程保持日志记录,所述日志记录包括:操作系统平台、系统架构方案、操作系统名称以及操作系统内核版本。
[0011]第二方面,本专利技术提供了一种跨平台机器码获取装置,包括:
[0012]接口模块,设计统一的一套接口规范,将每个系统的调用入口进行统一;
[0013]查询获取模块,若系统是Linux系统,则先从/var/lib/dbus/machine

id文件读取机器码,如果读取不到再从/etc/machine

id文件读取机器码;
[0014]若系统是Unix平台,则先通过/etc/hostid文件读取,失败则使用kenv

qsmbios.system.uuid命令查询机器码;
[0015]若系统是OSX系统,则使用ioreg

rd1

c IOPlatformExpertDevice|grep IOPlatformUUID命令查询机器码;
[0016]若系统是windows系统,则读取系统注册表值获取机器码,路径为HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography.MachineID。
[0017]进一步地,还包括日志记录模块,将整个查询过程保持日志记录,所述日志记录包括:操作系统平台、系统架构方案、操作系统名称以及操作系统内核版本。
[0018]第三方面,本专利技术提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
[0019]第四方面,本专利技术提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
[0020]本专利技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:通过该方法解决了多操作系统、多平台、多架构之间获取机器码混乱的问题,提升了机器码获取的效率、准确性、易用性,该方法的提出有益于不同编程语言的功能实现,提供了一个统一的获取标准;对于多语言、多系统应用的组织用户而言,降低了机器码获取功能实现的差异性,形成了统一的技术方案,加强了异构团队之间的交流,减少了组织用户的总体成本。
[0021]本申请实施例提供的一种跨平台机器码获取方法、装置、设备和介质,。
[0022]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
附图说明
[0023]下面参照附图结合实施例对本专利技术作进一步的说明。
[0024]图1为本专利技术实施例一中方法中的流程图;
[0025]图2为本专利技术实施例二中装置的结构示意图。
具体实施方式
[0026]实施例一
[0027]如图1所示,本实施例提供一种跨平台机器码获取方法,包括:
[0028]步骤1、设计统一的一套接口规范,将每个系统的调用入口进行统一例如:设计多种跨平台的文件调用,如:machine_linux、machine_windows、machine_osx,可以有多种编程语言的实现,为其添加统一的调用入口:machine.get_machine_id;
[0029]步骤2、若系统是Linux系统,则先从/var/lib/dbus/machine

id文件读取机器码,如果读取不到再从/etc/machine

id文件读取机器码;
[0030]若系统是Unix平台,则先通过/etc/hostid文件读取,失败则使用kenv

qsmbios.system.uuid命令查询机器码;
[0031]若系统是OSX系统,则使用ioreg

rd1

c IOPlatformExpertDevice|grep IOPlatformUUID命令查询机器码;
[0032]若系统是windows系统,则读取系统注册表值获取机器码,路径为HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography.MachineID;
[0033]步骤3、将整个查询过程保持日志记录,所述日志记录包括:操作系统平台、系统架构方案、操作系统名称以及操作系统内核版本;通过日志记录以防止特定未知平台上使用该方法时,出现异常能够快定位,以加快增补和实现目标平台的机器码获取功能。
[0034]根据步骤1设定的接口规范,实现不同程序设计语言的接口版本,按照步骤2指示
的各系统平台探查顺序进行机器码读取。
[0035]基于同一专利技术构思,本申请还提供了与实施例一中的方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨平台机器码获取方法,其特征在于,包括:步骤1、设计统一的一套接口规范,将每个系统的调用入口进行统一;步骤2、若系统是Linux系统,则先从/var/lib/dbus/machine

id文件读取机器码,如果读取不到再从/etc/machine

id文件读取机器码;若系统是Unix平台,则先通过/etc/hostid文件读取,失败则使用kenv

qsmbios.system.uuid命令查询机器码;若系统是OSX系统,则使用ioreg

rd1

cIOPlatformExpertDevice|grep IOPlatformUUID命令查询机器码;若系统是windows系统,则读取系统注册表值获取机器码,路径为HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography.MachineID。2.根据权利要求1所述的一种跨平台机器码获取方法,其特征在于,还包括步骤3、将整个查询过程保持日志记录,所述日志记录包括:操作系统平台、系统架构方案、操作系统名称以及操作系统内核版本。3.一种跨平台机器码获取装置,其特征在于,包括:接口模块,设计统一的一套接口规范,将每个系统的调用入口进行统一;查询获取模块,若系统是Linux系统,则...

【专利技术属性】
技术研发人员:陈庆勇阮强余亮华
申请(专利权)人:雾实福建科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1