CN105975272A - 一种生成设备唯一设备号的方法和系统 - Google Patents
一种生成设备唯一设备号的方法和系统 Download PDFInfo
- Publication number
- CN105975272A CN105975272A CN201610292488.9A CN201610292488A CN105975272A CN 105975272 A CN105975272 A CN 105975272A CN 201610292488 A CN201610292488 A CN 201610292488A CN 105975272 A CN105975272 A CN 105975272A
- Authority
- CN
- China
- Prior art keywords
- character string
- developer
- hardware information
- combined
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Abstract
本申请公开了一种生成设备唯一设备号的方法和系统,其中所述方法包括:获取所述设备的至少一个硬件信息号;在操作系统API层面提供获得设备唯一设备号的接口;响应于上层应用调用所述接口,获取所述应用的开发者ID;将开发者ID和所述至少一个硬件信息号组合为第二字符串;计算所述第二字符串的哈希值作为所述设备的唯一设备号。本发明方法和系统能为同一个开发者提供一致的设备ID,并且在刷机后也保证同一个开发者能获得与刷机前一致的设备ID,既最大程度的避免了用户隐私泄露,又为应用开发者提供了最好的数据统计体验。
Description
技术领域
本申请涉及电数字数据处理领域,尤其涉及一种生成设备唯一设备号的方法和系统。
背景技术
在移动设备上进行应用开发时,很多应用都需要使用设备唯一号来区分终端,以确定设备的身份,所以在移动操作系统上都会提供获得设备唯一ID的接口。目前提供该接口的方法有三类:
一是不区分调用者,无论任何应用来调用,都返回一个一致的设备ID给调用者,但是系统刷机后,不保证与刷机前的设备ID相同。这个方法的问题在于刷机后设备ID会变,在这种情况下应用无法确定是否是原来的设备。
二是不区分调用者,无论任何应用来调用,都返回一个一致的设备ID给调用者,读取硬件特征值,在系统刷机后,也能获得与刷机前相同的设备ID。这个方法认为刷机前后的设备是同一个设备,避免了方法一的缺陷。但是方法一和方法二由于不区分调用者,所以所有的应用都返回的是一个设备ID,这容易造成用户的隐私泄露,通过拦截设备的通讯,就可以在网络上截获到设备的所有行为,从而追踪出用户的所有行为。
三是每个应用安装时为此应用单独生成一个设备ID,这种方法避免了用户隐私泄露。但是对于同一个开发者在不同应用间做数据统计是很麻烦的事情,另外该方法在重新刷机后不保证会获得相同的设备ID,也会为开发者统计数据造成麻烦。
发明内容
本申请的目标在于提供一种生成设备唯一设备号的方法和系统,其为同一个开发者提供一致的设备ID(设备号),并且在刷机后也保证同一个开发者能获得与刷机前一致的设备ID。
本申请的目标由一种生成设备唯一设备号的方法实现,该方法包括:
获取所述设备的至少一个硬件信息号;
在操作系统API层面提供获得设备唯一设备号的接口;
响应于上层应用调用所述接口,获取所述应用的开发者ID;
将开发者ID和所述至少一个硬件信息号组合为第二字符串;
计算所述第二字符串的哈希值作为所述设备的唯一设备号。
本申请的目标还由一种生成设备唯一设备号的系统实现,该系统包括:
硬件信息号获取模块,用于获取所述设备的至少一个硬件信息号;
接口提供模块,用于在操作系统API层面提供获得设备唯一设备号的接口;
开发者ID获取模块,用于响应于上层应用调用所述接口,获取所述应用的开发者ID;
第二组合模块,用于将开发者ID和所述至少一个硬件信息号组合为第二字符串;
设备号生成模块,用于计算所述第二字符串的哈希值作为所述设备的唯一设备号。
通过本发明方法或系统,设备唯一标识与应用开发者ID相结合,不同的开发者在同一个设备上获得的设备唯一标识不同,同一个开发者在同一个设备上刷机前后获得的设备唯一标识是相同的。而且,设备标识是HASH(哈希)运算后的结果,不可逆推原始数据。通过拦截网络数据包,无法获取最终用户的全部行为,既避免了隐私泄露,又为应用开发者提供了最好的数据统计体验。
附图说明
本发明将在下面参考附图并结合优选实施例进行更完全地说明。
图1为根据本发明方法的一实施例的流程图。
图2为根据本发明系统的一实施例的结构示意图。
为清晰起见,这些附图均为示意性及简化的图,它们只给出了对于理解本发明所必要的细节,而省略其他细节。
具体实施方式
通过下面给出的详细描述,本发明的适用范围将显而易见。然而,应当理解,在详细描述和具体例子表明本发明优选实施例的同时,它们仅为说明目的给出。
图1示出了根据本发明的用于生成设备唯一设备号的方法的一实施例的流程图,该方法开始于步骤S10,获取设备中的硬件信息如CPU序列号nb1、调制解调器串号nb2和无线网卡MAC地址nb3等。在其它实施例中,可仅获取前述硬件信息中的一个或两个,和/或获取设备的其它硬件信息。之后,在步骤S20,将上述三个号码组合为一个串nbraw,获得的组合串nbraw就是有效的硬件唯一ID。组合方法包括但不限于以下的方法:
A、可以将这些硬件信息在设备内存上直接拷贝到一个连续的内存区域形成nbraw。该方案为首先推荐方案,因为这种方案效率最高,同时内存占用最少。
B、可以将这些硬件信息转换为字符形式,然后拼接为一个完整的字符串以成为nbraw。
C、可以将这些硬件信息分别计算HASH值后,再按A或B的处理组合为nbraw。
之后,在步骤S30,计算nbraw的HASH值,将此值作为设备ID的基础系统值nbsys。在步骤S40,在操作系统中实现一个供其他应用获取设备唯一设备号的服务idserviced,该服务在系统API层面提供获得设备唯一ID的接口idfunction,idfunction代表获取设备唯一ID号的接口函数族。在步骤S50,在调用接口idfunction时,确定是操作系统内部服务或进程调用该接口还是上层应用调用该接口。当确定是操作系统内部服务或进程需要获得设备唯一标识号而调用idfunction时,处理进行到步骤S55,服务idserviced直接将基础系统值nbsys返回给调用者。而当确定是上层应用需要获得设备唯一标识号而调用idfunction时,处理进行到步骤S57,服务idserviced通过应用管理器,检索出该应用的开发者ID。然后在步骤S60,将开发者ID与设备ID的基础系统值nbsys组合为一个完整串nbaraw,组合方法包括但不限于以下的方法:1)将开发者ID与基础系统值nbsys在设备内存上直接拷贝到一个连续的内存区域形成nbaraw;或者2)将开发者ID与基础系统值nbsys转换为字符形式,然后拼接为一个完整的字符串以成为nbaraw;或者3)将开发者ID与基础系统值nbsys分别计算HASH值后,再按A或B的处理组合为nbaraw。之后,在步骤S70,计算完整串nbaraw的HASH值nba,此值即为该开发者获取的本设备的唯一标识,将最终的设备唯一标识nba返回给调用者。
本发明在生成设备ID时,结合硬件特征和开发者信息,为同一个开发者提供一致的设备ID,并且在刷机后也保证同一个开发者能获得与刷机前一致的设备ID,而在同一个设备上不同开发者获得的设备唯一标识是不同的,既最大程度的避免了用户隐私泄露,又为应用开发者提供了最好的数据统计体验。
图2示出了本发明的用于生成设备唯一设备号的系统的一实施例的结构示意图,该系统包括:硬件信息号获取模块10,用于获取所述设备的两个以上硬件信息号如CPU序列号、调制解调器串号和/或无线网卡MAC地址;第一组合模块20,将获取的两个以上硬件信息号组合为第一字符串;基础系统值获得模块30,用于计算第一字符串的哈希值作为基础系统值;接口提供模块40,用于在操作系统API层面提供获得设备唯一设备号的接口;开发者ID获取模块50,用于响应于上层应用调用所述接口,获取所述应用的开发者ID;第二组合模块60,用于将开发者ID和所述基础系统值组合为第二字符串;设备号生成模块70,用于计算所述第二字符串的哈希值作为所述设备的唯一设备号。
除非明确指出,在此所用的单数形式“一”、“该”均包括复数含义(即具有“至少一”的意思)。应当进一步理解,说明书中使用的术语“具有”、“包括”和/或“包含”表明存在所述的特征、步骤、操作、元件和/或部件,但不排除存在或增加一个或多个其他特征、步骤、操作、元件、部件和/或其组合。如在此所用的术语“和/或”包括一个或多个列举的相关项目的任何及所有组合。除非明确指出,在此公开的任何方法的步骤不必精确按照所公开的顺序执行。
一些优选实施例已经在前面进行了说明,但是应当强调的是,本发明不局限于这些实施例,而是可以本发明主题范围内的其它方式实现。
Claims (10)
1.一种生成设备唯一设备号的方法,其特征在于,所述方法包括:
获取所述设备的至少一个硬件信息号;
在操作系统API层面提供获得设备唯一设备号的接口;
响应于上层应用调用所述接口,获取所述应用的开发者ID;
将开发者ID和所述至少一个硬件信息号组合为第二字符串;
计算所述第二字符串的哈希值作为所述设备的唯一设备号。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述至少一个硬件信息号为多个,将获取的多个硬件信息号组合为第一字符串;
其中将开发者ID和所述至少一个硬件信息号组合为第二字符串包括将开发者ID和所述第一字符串组合为第二字符串。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
响应于组合得到第一字符串,计算第一字符串的哈希值作为基础系统值;
其中将开发者ID和所述第一字符串组合为第二字符串包括将开发者ID和所述基础系统值组合为第二字符串。
4.根据权利要求1-3任一所述的方法,其特征在于,所述硬件信息号包括下述之一或多个:CPU序列号、调制解调器串号和无线网卡MAC地址。
5.根据权利要求1-3任一所述的方法,其特征在于,实现所述组合的方式选自下述之一:
A、将待组合的内容在设备内存上直接拷贝到一个连续的内存区域形成组合串;
B、将待组合的内容转换为字符形式,然后拼接为字符串;
C、将待组合的内容分别计算哈希值,然后再按A或B的方式形成字符串。
6.根据权利要求1或2所述的方法,其特征在于,所述在操作系统API层面提供获得设备唯一设备号的接口通过在操作系统中实现一个供其它应用获取设备唯一设备号的服务实现。
7.一种生成设备唯一设备号的系统,其特征在于,所述系统包括:
硬件信息号获取模块,用于获取所述设备的至少一个硬件信息号;
接口提供模块,用于在操作系统API层面提供获得设备唯一设备号的接口;
开发者ID获取模块,用于响应于上层应用调用所述接口,获取所述应用的开发者ID;
第二组合模块,用于将开发者ID和所述至少一个硬件信息号组合为第二字符串;
设备号生成模块,用于计算所述第二字符串的哈希值作为所述设备的唯一设备号。
8.根据权利要求7所述的系统,其特征在于,所述系统还包括:
第一组合模块,用于响应于所述至少一个硬件信息号为多个,将获取的多个硬件信息号组合为第一字符串;
其中所述第二组合模块用于将开发者ID和所述第一字符串组合为第二字符串。
9.根据权利要求8所述的系统,其特征在于,所述系统还包括:
基础系统值获得模块,用于响应于组合得到第一字符串,计算第一字符串的哈希值作为基础系统值;
其中所述第二组合模块用于将开发者ID和所述基础系统值组合为第二字符串。
10.根据权利要求7-9任一所述的系统,其特征在于,所述硬件信息号包括下述之一或多个:CPU序列号、调制解调器串号和无线网卡MAC地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610292488.9A CN105975272A (zh) | 2016-05-05 | 2016-05-05 | 一种生成设备唯一设备号的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610292488.9A CN105975272A (zh) | 2016-05-05 | 2016-05-05 | 一种生成设备唯一设备号的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105975272A true CN105975272A (zh) | 2016-09-28 |
Family
ID=56991143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610292488.9A Pending CN105975272A (zh) | 2016-05-05 | 2016-05-05 | 一种生成设备唯一设备号的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105975272A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106851612A (zh) * | 2016-12-08 | 2017-06-13 | 同盾科技有限公司 | 一种安卓设备的设备追踪方法和系统 |
CN107040619A (zh) * | 2017-02-16 | 2017-08-11 | 深圳市丰巨泰科电子有限公司 | 硬件唯一标识码的生成和管理系统及方法 |
CN107087067A (zh) * | 2017-04-14 | 2017-08-22 | 努比亚技术有限公司 | 移动终端、串号分配方法及系统 |
CN107426235A (zh) * | 2017-08-08 | 2017-12-01 | 北京洋浦伟业科技发展有限公司 | 基于设备指纹的权限认证方法、装置及系统 |
CN107516038A (zh) * | 2017-08-08 | 2017-12-26 | 北京梆梆安全科技有限公司 | 一种确定设备指纹的方法及装置 |
CN110096685A (zh) * | 2019-04-28 | 2019-08-06 | 新华三信息安全技术有限公司 | 一种设备标识生成方法及装置 |
CN115344848A (zh) * | 2022-07-20 | 2022-11-15 | 北京数牍科技有限公司 | 标识获取方法、装置、设备及计算机可读存储介质 |
CN116527758A (zh) * | 2023-07-05 | 2023-08-01 | 北京数牍科技有限公司 | 一种通用标识的生成方法、装置、设备、存储介质及产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908359A (zh) * | 2006-06-08 | 2010-12-08 | 株式会社东芝 | 信息存储媒体 |
CN102609650A (zh) * | 2012-02-06 | 2012-07-25 | 上海易罗信息科技有限公司 | 实现电子设备中软件加密下载的系统及方法 |
CN104700041A (zh) * | 2015-03-31 | 2015-06-10 | 佛山市金蓝领教育科技有限公司 | 一种原子词通用sd学习卡制作方法 |
CN105068946A (zh) * | 2015-08-14 | 2015-11-18 | 北京鼎开互联信息技术有限公司 | 一种安卓设备的识别方法和装置 |
CN105303230A (zh) * | 2015-11-24 | 2016-02-03 | 清远市金蓝领科技有限公司 | 一种关键词sd学习卡制作方法 |
-
2016
- 2016-05-05 CN CN201610292488.9A patent/CN105975272A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908359A (zh) * | 2006-06-08 | 2010-12-08 | 株式会社东芝 | 信息存储媒体 |
CN102609650A (zh) * | 2012-02-06 | 2012-07-25 | 上海易罗信息科技有限公司 | 实现电子设备中软件加密下载的系统及方法 |
CN104700041A (zh) * | 2015-03-31 | 2015-06-10 | 佛山市金蓝领教育科技有限公司 | 一种原子词通用sd学习卡制作方法 |
CN105068946A (zh) * | 2015-08-14 | 2015-11-18 | 北京鼎开互联信息技术有限公司 | 一种安卓设备的识别方法和装置 |
CN105303230A (zh) * | 2015-11-24 | 2016-02-03 | 清远市金蓝领科技有限公司 | 一种关键词sd学习卡制作方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106851612A (zh) * | 2016-12-08 | 2017-06-13 | 同盾科技有限公司 | 一种安卓设备的设备追踪方法和系统 |
CN106851612B (zh) * | 2016-12-08 | 2020-05-12 | 同盾控股有限公司 | 一种安卓设备的设备追踪方法和系统 |
CN107040619B (zh) * | 2017-02-16 | 2020-01-21 | 常州市小先信息技术有限公司 | 硬件唯一标识码的生成和管理系统及方法 |
CN107040619A (zh) * | 2017-02-16 | 2017-08-11 | 深圳市丰巨泰科电子有限公司 | 硬件唯一标识码的生成和管理系统及方法 |
CN107087067B (zh) * | 2017-04-14 | 2020-06-09 | 南京白下高新技术产业园区投资发展有限责任公司 | 移动终端、串号分配方法及系统 |
CN107087067A (zh) * | 2017-04-14 | 2017-08-22 | 努比亚技术有限公司 | 移动终端、串号分配方法及系统 |
CN107516038A (zh) * | 2017-08-08 | 2017-12-26 | 北京梆梆安全科技有限公司 | 一种确定设备指纹的方法及装置 |
CN107516038B (zh) * | 2017-08-08 | 2020-03-31 | 北京梆梆安全科技有限公司 | 一种确定设备指纹的方法及装置 |
CN107426235A (zh) * | 2017-08-08 | 2017-12-01 | 北京洋浦伟业科技发展有限公司 | 基于设备指纹的权限认证方法、装置及系统 |
CN110096685A (zh) * | 2019-04-28 | 2019-08-06 | 新华三信息安全技术有限公司 | 一种设备标识生成方法及装置 |
CN110096685B (zh) * | 2019-04-28 | 2023-06-20 | 新华三信息安全技术有限公司 | 一种设备标识生成方法及装置 |
CN115344848A (zh) * | 2022-07-20 | 2022-11-15 | 北京数牍科技有限公司 | 标识获取方法、装置、设备及计算机可读存储介质 |
CN116527758A (zh) * | 2023-07-05 | 2023-08-01 | 北京数牍科技有限公司 | 一种通用标识的生成方法、装置、设备、存储介质及产品 |
CN116527758B (zh) * | 2023-07-05 | 2023-10-31 | 北京数牍科技有限公司 | 一种通用标识的生成方法、装置、设备、存储介质及产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105975272A (zh) | 一种生成设备唯一设备号的方法和系统 | |
US9417849B2 (en) | Communications network, computer architecture, computer-implemented method and computer program product for development and management of femtocell-based applications | |
CN104954391B (zh) | 用于验证实体的第一标识和第二标识的设备和方法 | |
TWI678909B (zh) | 安全認證方法、裝置及系統 | |
JP2020510384A (ja) | ネットワークスライス管理方法、ユニット、及びシステム | |
CN109327627A (zh) | 基于区块链的电话号码识别方法、装置及存储介质 | |
CN112612686A (zh) | 性能测试方法、装置、电子设备及存储介质 | |
CN109417501B (zh) | 网络资源的编排方法和设备 | |
CN108055238A (zh) | 一种账户验证方法及系统 | |
CN110413286B (zh) | 一种应用部署方法、装置及设备 | |
CN106790727A (zh) | 消息推送方法及装置 | |
CN111767144A (zh) | 交易数据的交易路由确定方法、装置、设备及系统 | |
CN104506658A (zh) | 一种应用程序的崩溃预警方法和系统 | |
CN110677453A (zh) | 基于ZooKeeper的分布式锁服务实现方法、装置、设备及存储介质 | |
CN113505996A (zh) | 权限管理方法及装置 | |
CN109858257B (zh) | 访问控制方法及装置 | |
CN106301975A (zh) | 一种数据检测方法及其装置 | |
CN109150864B (zh) | 基于二次认证的防作弊方法及装置 | |
AU2014256198A1 (en) | Terminal, network side device, terminal application control method, and system | |
CN105959306A (zh) | Ip地址的识别方法及装置 | |
CN108280024A (zh) | 流量分配策略测试方法、装置及电子设备 | |
CN109660379B (zh) | 一种网络方法和系统、及终端 | |
CN111131440A (zh) | 资源调度方法、装置和服务器 | |
CN115510496A (zh) | 数据库访问控制方法及相关装置 | |
WO2018049813A1 (zh) | 一种权限配置方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160928 |