一种U盘SN码的获取方法及装置与流程

文档序号:12271234阅读:2038来源:国知局
一种U盘SN码的获取方法及装置与流程

本发明涉及互联网应用技术领域,特别涉及一种U盘SN码的获取方法及装置。



背景技术:

SN码是Serial Number的缩写,有时也叫SerialNo,也就是产品序列号,产品序列是为了验证“产品的合法身份”而引入的一个概念,它是用来保障用户的正版权益,享受合法服务的,一套正版的产品只对应一组产品序列号。SN码又称:机器码、认证码、注册申请码等。OS X系统中不提供专门获得SN的命令,亟待解决这一技术问题。



技术实现要素:

本发明提供一种U盘SN码的获取方法及装置,用以实现准确地获取U盘SN码的目的。

本发明提供一种U盘SN码的获取方法,包括:

在操作系统中执行获取硬件信息的命令,获得所有硬件的信息;

从获得的所述所有硬件的信息中获取USB信息;

从获取的所述USB信息中获取U盘项下各U盘的VID和PID;

根据所述各U盘的VID和PID,确定指定U盘的SN码。

在本发明一实施例中,根据所述各U盘的VID和PID,确定指定U盘的SN码,包括:

获取指定U盘的VID和PID;

将所述指定U盘的VID与所述各U盘的VID进行匹配,以及将所述指定U盘的PID与所述各U盘的VID进行匹配,确定匹配的U盘;

从所述匹配的U盘的信息中获取SN码,并作为所述指定U盘的SN码。

在本发明一实施例中,所述所有硬件的信息中至少包括USB信息。

在本发明一实施例中,所述操作系统包括OS X系统。

在本发明一实施例中,所述方法还包括:

确定所述指定U盘的SN码的长度,其中,所述指定U盘的SN码的各个位对应编号;

针对所述指定U盘的SN码的任意当前位,确定所述当前位对应的预设位;

将所述指定U盘的SN码的长度减去所述当前位的编号,得到的计算值作为所述预设位的值;

将所述计算值作为序号,从预设的字符串中获取所述计算值对应的位的字符,并将该字符作为所述当前位的值。

在本发明一实施例中,所述指定U盘的SN码为12位,且所述指定U盘的SN码的各个位的编号为十进制。

在本发明一实施例中,针对所述指定U盘的SN码的任意当前位,确定所述当前位对应的预设位,包括:

当所述当前位为第k位,则所述当前位对应的预设位为13-k位。

本发明还提供一种U盘SN码的获取装置,包括:

第一获取模块,用于在操作系统中执行获取硬件信息的命令,获得所有硬件的信息;

第二获取模块,用于从获得的所述所有硬件的信息中获取USB信息;

第三获取模块,用于从获取的所述USB信息中获取U盘项下各U盘的VID和PID;

确定模块,用于根据所述各U盘的VID和PID,确定指定U盘的SN码。

在本发明一实施例中,所述确定模块还用于:

获取指定U盘的VID和PID;

将所述指定U盘的VID与所述各U盘的VID进行匹配,以及将所述指定U盘的PID与所述各U盘的VID进行匹配,确定匹配的U盘;

从所述匹配的U盘的信息中获取SN码,并作为所述指定U盘的SN码。

在本发明一实施例中,所述所有硬件的信息中至少包括USB信息。

在本发明实施例中,在操作系统中执行获取硬件信息的命令,获得所有硬件的信息;从获得的所述所有硬件的信息中获取USB信息;从获取的所述USB信息中获取U盘项下各U盘的VID和PID;根据所述各U盘的VID和PID,确定指定U盘的SN码。由此可见,本发明实施例能够实现准确地获取U盘SN码的目的。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1所示为本发明一实施例中U盘SN码的获取方法的流程图;

图2所示为本发明一实施例中解析到的指定U盘的SN码的示意图;

图3所示为本发明一实施例中U盘SN码的加密方法的流程图;

图4所示为本发明一实施例中U盘SN码的解密方法的流程图;以及

图5所示为本发明一实施例中U盘SN码的获取装置的结构示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

如图1所示为本发明一实施例中U盘SN码的获取方法的流程图,该方法可以包括以下步骤S11-S14。

步骤S11,在操作系统中执行获取硬件信息的命令,获得所有硬件的信息。

在该步骤中,操作系统为OS X系统,而OS X系统中不提供专门获得SN的命令。但是,OS X系统提供获得硬件信息的命令,通过该命令可以获得所有硬件的信息,如CPU、内存、硬盘、USB等,本发明不限于此。USB又包括键盘、鼠标、U盘等。

步骤S12,从获得的所述所有硬件的信息中获取USB信息。

步骤S13,从获取的所述USB信息中获取U盘项下各U盘的VID和PID。

在该步骤中,U盘的VID和PID分别是指Vendor ID(生产厂商ID)和Product ID(产品ID)。

步骤S14,根据所述各U盘的VID和PID,确定指定U盘的SN码。

在本发明实施例中,在操作系统中执行获取硬件信息的命令,获得所有硬件的信息;从获得的所述所有硬件的信息中获取USB信息;从获取的所述USB信息中获取U盘项下各U盘的VID和PID;根据所述各U盘的VID和PID,确定指定U盘的SN码。由此可见,本发明实施例能够实现准确地获取U盘SN码的目的。

在本发明的可选实施例中,上文步骤S14可以包括以下步骤A1-A3。

步骤A1,获取指定U盘的VID和PID。

在该步骤中,例如,指定U盘的VID是0x058f,PID是0x6387。

步骤A2,将所述指定U盘的VID与所述各U盘的VID进行匹配,以及将所述指定U盘的PID与所述各U盘的VID进行匹配,确定匹配的U盘。

步骤A3,从所述匹配的U盘的信息中获取SN码,并作为所述指定U盘的SN码。

在该步骤中,通过程序解析里面的有用信息,解析过程如下,首先这些信息是层级结构,从第一次开始,如果VID和PID是预先设定的,就说明是指定U盘,然后获取SN码;如果不是,解析第二层,直到解析完所有层为止。如图2所示为解析到的指定U盘的SN码。

在上述步骤S14确定指定U盘的SN码之后,本发明实施例还可以对SN码进行加密,以备后续使用。

如图3所示为本发明一实施例中U盘SN码的加密方法的流程图,该方法可以包括以下步骤S31-S34。

步骤S31,确定所述指定U盘的SN码的长度,其中,所述指定U盘的SN码的各个位对应编号。

在该步骤中,指定U盘的SN码可以为12位,且各个位的编号为十进制。

步骤S32,针对所述指定U盘的SN码的任意当前位,确定所述当前位对应的预设位。

步骤S33,将所述指定U盘的SN码的长度减去所述当前位的编号,得到的计算值作为所述预设位的值。

步骤S34,将所述计算值作为序号,从预设的字符串中获取所述计算值对应的位的字符,并将该字符作为所述当前位的值。

在该步骤中,预设的字符串可以是16位三十六进制的一组字符串。三十六进制,是数据的一种表示方法,它由0-9,A-Z组成,字母不区分大小写。

在本发明的可选实施例中,上文步骤S32中如果当前位为第k位,则当前位对应的预设位为13-k位。例如,指定U盘的SN码为12位,如果当前位为第1位,则当前位对应的预设位为第12位,即指定U盘的SN码的最后一位;如果当前位为第2位,则当前位对应的预设位为第11位,即指定U盘的SN码的倒数第二位,等等。

在上文步骤S33和步骤S34中,针对当前位是第一位,假设第一位的编号为0,用长度减当前位的编号,即,12-0=12,得到最后一位的值,x=最后一位的值。随后,将x的值作为序号,从预设的字符串(即,Key)中获得第x位的字符,将该字符作为第一位的值。

同样地,针对当前位是第二位,假设第二位的编号为1,用长度减当前位的编号,即,12-1=11,得到倒数第二位的值,x=倒数第二位的值。随后,将x的值作为序号,从Key中获得第x位的字符,将该字符作为第二位的值。

针对当前位是第三位,重复上述过程,直至最后一位。

相应地,SN码的解密方法是上述的逆过程。如图4所示为本发明一实施例中U盘SN码的解密方法的流程图,U盘SN码为待解密SN码,该方法可以包括以下步骤S41-S43。

步骤S41,获取待解密SN码,确定待解密SN码的长度,其中,待解密SN码的各个位对应值。

步骤S42,针对待解密SN码的任意当前位,根据当前位的值,确定在预设的字符串中对应字符的序号或位。

步骤S43,将待解密SN码的长度减去确定的序号或位,作为当前位的编号。

需要说明的是,在实际应用中,上述所有可选实施方式可以采用结合的方式任意组合,形成本发明的可选实施例,在此不再一一赘述。

对应于上述实施例中的U盘SN码的获取方法,本发明还提供一种U盘SN码的获取装置。如图5所示为本发明一实施例中U盘SN码的获取装置的结构示意图,包括:

第一获取模块51,用于在操作系统中执行获取硬件信息的命令,获得所有硬件的信息;

第二获取模块52,用于从获得的所述所有硬件的信息中获取USB信息;

第三获取模块53,用于从获取的所述USB信息中获取U盘项下各U盘的VID和PID;

确定模块54,用于根据所述各U盘的VID和PID,确定指定U盘的SN码。

在本发明一实施例中,所述确定模块54还用于:

获取指定U盘的VID和PID;

将所述指定U盘的VID与所述各U盘的VID进行匹配,以及将所述指定U盘的PID与所述各U盘的VID进行匹配,确定匹配的U盘;

从所述匹配的U盘的信息中获取SN码,并作为所述指定U盘的SN码。

在本发明一实施例中,所述所有硬件的信息中至少包括USB信息。

在本发明一实施例中,所述操作系统包括OS X系统。

在本发明一实施例中,所述装置还包括:

加密模块(图中未示出),用于确定所述指定U盘的SN码的长度,其中,所述指定U盘的SN码的各个位对应编号;

针对所述指定U盘的SN码的任意当前位,确定所述当前位对应的预设位;

将所述指定U盘的SN码的长度减去所述当前位的编号,得到的计算值作为所述预设位的值;

将所述计算值作为序号,从预设的字符串中获取所述计算值对应的位的字符,并将该字符作为所述当前位的值。

在本发明一实施例中,所述指定U盘的SN码为12位,且所述指定U盘的SN码的各个位的编号为十进制。

在本发明一实施例中,所述加密模块还用于:

当所述当前位为第k位,则所述当前位对应的预设位为13-k位。

本发明实施例的上述装置:在操作系统中执行获取硬件信息的命令,获得所有硬件的信息;从获得的所述所有硬件的信息中获取USB信息;从获取的所述USB信息中获取U盘项下各U盘的VID和PID;根据所述各U盘的VID和PID,确定指定U盘的SN码。由此可见,本发明实施例能够实现准确地获取U盘SN码的目的。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1