CN108830113A - 一种Android设备唯一标识的获取方法 - Google Patents

一种Android设备唯一标识的获取方法 Download PDF

Info

Publication number
CN108830113A
CN108830113A CN201810613683.6A CN201810613683A CN108830113A CN 108830113 A CN108830113 A CN 108830113A CN 201810613683 A CN201810613683 A CN 201810613683A CN 108830113 A CN108830113 A CN 108830113A
Authority
CN
China
Prior art keywords
unique identification
equipment
card
acquisition methods
app
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
Application number
CN201810613683.6A
Other languages
English (en)
Inventor
陈明超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Inspur Genersoft Information Technology Co Ltd
Original Assignee
Shandong Inspur Genersoft Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Inspur Genersoft Information Technology Co Ltd filed Critical Shandong Inspur Genersoft Information Technology Co Ltd
Priority to CN201810613683.6A priority Critical patent/CN108830113A/zh
Publication of CN108830113A publication Critical patent/CN108830113A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Telephone Function (AREA)

Abstract

本发明公开一种Android设备唯一标识的获取方法,涉及计算机技术,获取设备唯一标识时,首先在app中获取Android系统的多个关键信息;然后根据关键信息构造设备唯一标识;将生成的设备唯一标识存储到多个位置;最后当获取设备唯一标识时首先从存储中获取,若无法获取到,则重新生成设备唯一标识。本发明以Android系统关键信息IMEI、Serial Number、AndroidId为基础生成设备标识,确保了设备标识的唯一性,且规避了暴露用户设备信息的风险;将设备唯一标识存储到多个位置,防止app被清除信息或卸载重装时唯一标识被彻底清除,保证了其稳定性。

Description

一种Android设备唯一标识的获取方法
技术领域
本发明涉及计算机技术,具体的说是一种Android设备唯一标识的获取方法。
背景技术
Android app开发中经常遇到需要用设备id来标识一台Android设备的场景,所以希望能够得到一个稳定可靠并且唯一的识别码。虽然Android系统中提供了这种设备识别码,由于目前流行的Android系统版本过多,设备也是来自不同厂商,且没有统一标准等原因,设备识别码的稳定性和唯一性并不理想。Android系统中并没有可以可靠获取所有厂商设备唯一id的方法。
目前,在Android设备识别码开发中大多使用三种方法:
1.在app中简单的随机生成一个全局唯一标识UUID,这样保证对在同一时空中的所有机器都是唯一。但是当这个唯一标识信息被清除后再次生成时,会生成一个全新的标识,这样就相当于同一台设备出现了两个唯一标识,无法保证唯一性。
2.采用单一的Android系统关键信息作为标识,如IMEI、DEVICE_ID、ANDORID_ID、Serial Number等其中一种。由于设备也是来自不同厂商,且没有统一标准等原因,有些标识有可能获取不到或获取到重复的标识,无法保证稳定性和唯一性。如果直接使用其作为设备标识,也会存在用户设备信息被泄漏的风险。
3.采用多种Android系统关键信息生成设备统一标识,但不存储此标识,每次获取设备标识时依赖这些信息重新生成。当设备出现更换SM卡、系统升级等情况,这些关键信息可能会发生改变,会生成一个全新的唯一标识,无法保证其唯一性。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种Android设备唯一标识的获取方法。
本发明所述一种Android设备唯一标识的获取方法,解决上述技术问题采用的技术方案如下:所述Android设备唯一标识的获取方法,其实现步骤包括:
步骤一,在app中获取Android系统的多个关键信息;
步骤二,根据关键信息构造设备唯一标识;
步骤三,将生成的设备唯一标识存储到多个位置;
步骤四,当获取设备唯一标识时首先从存储中获取,若无法获取到,则重新生成设备唯一标识。
具体的,所述步骤一:
在app中分别获取Android系统关键信息IMEI、Serial Number、AndroidId三个标识码,以Android系统关键信息为基础通过运算生成设备唯一标识。
具体的,所述步骤二:
对Android系统关键信息进行特征提取,构造一个设备唯一标识。
具体的,所述步骤三:
将设备唯一标识存储在app缓存和设备的SD卡某个特定文件中。
具体的,所述步骤三:
将设备唯一标识存放于SD卡特定文件中时,对设备唯一标识进行加密处理。
具体的,所述步骤四:
当获取设备唯一标识时,首选读取app缓存,如果app缓存中不存在,再到设备的SD卡中特定文件中获取。
具体的,所述步骤四:
若app缓存中存在,则将设备唯一标识加密,并存放到SD卡特定文件中。
具体的,所述步骤四:
从SD卡中特定文件中获取设备唯一标识时,若SD卡中特定文件中存在,则将SD卡特定文件中获取到的内容进行解密处理。
具体的,所述步骤四:
若对SD卡特定文件中获取的内容解密成功,则表示设备唯一标识获取成功,同时将设备唯一标识存储到app缓存中。
具体的,所述步骤四:
若对SD卡特定文件中获取的内容解密失败,则获取Android系统关键信息IMEI、Serial Number、AndroidId,重新生成设备唯一标识,并将设备唯一标识首先存储到app缓存中,然后进行加密存放到SD卡特定文件中。
本发明所述一种Android设备唯一标识的获取方法,与现有技术相比具有的有益效果是:本发明Android系统设备唯一标识获取时,以Android系统关键信息IMEI、SerialNumber、AndroidId三个标识码为基础通过运算生成,确保了设备标识的唯一性,且规避了暴露用户设备信息的风险;将设备唯一标识存储到多个位置,相当于有了多重保险,防止app被清除信息或卸载重装时唯一标识被彻底清除,设备唯一标识不会轻易丢失,保证了其稳定性;在设备SD卡文件中存储时,必须将唯一标识进行加密后存储,防止被人为篡改,进一步提高了设备标识的唯一性和稳定性。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术内容,下面对本发明实施例或现有技术中所需要的附图做简单介绍。显而易见的,下面所描述附图仅仅是本发明的一部分实施例,对于本领域技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,但均在本发明的保护范围之内。
附图1为所述Android设备唯一标识的获取方法的流程图。
具体实施方式
为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清查、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下获得的所有实施例,都在本发明的保护范围之内。
实施例:
本实施例提出的一种Android设备唯一标识的获取方法,其实现步骤包括:
步骤一,在app中获取Android系统的多个关键信息;
步骤二,根据关键信息构造设备唯一标识;
步骤三,将生成的设备唯一标识存储到多个位置;
步骤四,当获取设备唯一标识时首先从存储中获取,若无法获取到,则重新生成设备唯一标识。
本实施例Android设备唯一标识的获取方法,关于步骤一在app中获取Android系统的多个关键信息:
在app中分别获取Android系统关键信息IMEI、Serial Number、AndroidId三个标识码,并以此为基础通过运算生成设备唯一标识。由于Android系统版本、厂商定制系统中的Bug、手机中没有插入SM卡等限制,将可能导致上述三个标识并不能全部获取到或获取到的为重复值。而本实施例中设备唯一标识是基于这三个值的运算获得,则能成功的保证设备标识的唯一性,且规避了暴露用户设备信息的风险。
这里,IMEI(International Mobile Equipment Identity)是国际移动设备识别码的缩写。俗称“手机串号”、“手机串码”、“手机序列号”,用于在GSM移动网络中识别每一部独立的手机,相当于手机的身份证号码。Serial Number是产品序列号,Sim卡序列号,为了验证“产品的合法身份”而引入的一个概念,它是用来保障用户的正版权益,享受合法服务的;一套正版的产品只对应一组产品序列号。Serial Number别称:机器码、认证码、注册申请码等。
具体的,获取设备IMEI,提供的API(Application Programming Interface,应用程序编程接口)定义如下:
TelephonyManager telephonyManager=(TelephonyManager)context.
getSystemService(Context.TELEPHONY_SERVICE);
String imei=""+telephonyManager.getDeviceId();
获取设备Serial Number,提供的API定义如下:
TelephonyManager telephonyManager=(TelephonyManager)context.
getSystemService(Context.TELEPHONY_SERVICE);
String simSerialNumber=""+telephonyManager.getSimSerialNumber();
获取设备AndroidId,提供的API定义如下:
String androidId=""+android.provider.Settings.Secure.getString
(context.getContentResolver(),android.provider.Settings.Secure.ANDROID_ID).
本实施例Android设备唯一标识的获取方法,关于步骤二根据Android系统关键信息构造设备唯一标识:对Android系统关键信息进行特征提取,构造一个设备唯一标识。
具体的,根据获取的IMEI、Serial Number、AndroidId三个值为每个设备构造一个设备唯一标识UUID,此UUID的值即为设备唯一标识:
UUID deviceUuid=new UUID(androidId.hashCode(),
((long)imei.hashCode()<<32)|simSerialNumber.hashCode());
String uniqueId=deviceUuid.toString().
本实施例Android设备唯一标识的获取方法,关于步骤三将生成的设备唯一标识存储到多个位置:
可以将设备唯一标识存储在app缓存和设备的SD卡某个特定文件中,防止app被清除信息或卸载重装时唯一标识被彻底清除。其中将设备唯一标识存放于SD卡某个特定文件中时,对设备唯一标识进行加密处理,防止被人为篡改。这是因为用户可能会进行app卸载重装、清除app的全部信息、删除SD卡中的文件等操作。本实施例将设备唯一标识分两个位置存储,这样相当于有了多重保险,生成的设备唯一标识不会轻易丢失,保证了其稳定性。
本实施例Android设备唯一标识的获取方法,关于步骤四当获取设备唯一标识时首先从存储中获取,若无法获取到,则重新生成设备唯一标识。由于设备的系统和SM卡等各种硬件信息可能会发生改变,所以设备唯一标识尽量不要重新生成。附图1为Android设备唯一标识的获取方法的流程图,如附图1所示:
当需要获取设备唯一标识时,首选读取app缓存,如果app缓存中不存在,再到设备的SD卡中特定文件中获取。若app缓存中存在,则将设备唯一标识加密,并存放到SD卡特定文件中。当从SD卡中特定文件中获取设备唯一标识时,若SD卡中特定文件中存在,则将SD卡特定文件中获取到的内容进行解密处理;如果解密成功则表示设备唯一标识获取成功,同时将设备唯一标识存储到app缓存中。如果解密失败则获取Android系统关键信息IMEI、Serial Number、AndroidId,重新生成设备唯一标识,并将设备唯一标识首先存储到app缓存中,然后进行加密存放到SD卡特定文件中。通过上述操作,这样即可保证了同一台设备不会生成不同的唯一标识。
本实施例Android设备唯一标识的获取方法,在app中需要标识设备时,可以首先在app中获取Android系统多个关键信息,然后基于关键信息为每个设备构造一个UUID,此UUID值即为此设备唯一标识,最后将唯一标识存储到多个位置,比如app缓存和设备的SD卡某个特定文件中;当app中查询设备唯一标识时,首先从存储中获取,先读取app缓存,如果app缓存中不存在,再到设备的SD卡特定文件中获取,当获取不到时再重新生成。这样,只有在app缓存信息被清除、SD卡中特定文件被删除、更换手机SM这三种情况同时发生的情况下,app获取到的设备唯一标识才会改变,这种场景几率很小,可以忽略不计。通过本实施例,可以达到在Android系统中获取所有厂商设备唯一标识id的目的,并保证其唯一性和稳定性。
以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容,并不用于限制本发明的保护范围,本发明的技术方案不限制于上述具体实施方式内。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。

Claims (10)

1.一种Android设备唯一标识的获取方法,其特征在于,其实现步骤包括:
步骤一,在app中获取Android系统的多个关键信息;
步骤二,根据关键信息构造设备唯一标识;
步骤三,将生成的设备唯一标识存储到多个位置;
步骤四,当获取设备唯一标识时首先从存储中获取,若无法获取到,则重新生成设备唯一标识。
2.根据权利要求1所述一种Android设备唯一标识的获取方法,其特征在于,所述步骤一:
在app中分别获取Android系统关键信息IMEI、Serial Number、AndroidId三个标识码,以Android系统关键信息为基础通过运算生成设备唯一标识。
3.根据权利要求2所述一种Android设备唯一标识的获取方法,其特征在于,所述步骤二:
对Android系统关键信息进行特征提取,构造一个设备唯一标识。
4.根据权利要求3所述一种Android设备唯一标识的获取方法,其特征在于,所述步骤三:
将设备唯一标识存储在app缓存和设备的SD卡某个特定文件中。
5.根据权利要求4所述一种Android设备唯一标识的获取方法,其特征在于,所述步骤三:
将设备唯一标识存放于SD卡特定文件中时,对设备唯一标识进行加密处理。
6.根据权利要求5所述一种Android设备唯一标识的获取方法,其特征在于,所述步骤四:
当获取设备唯一标识时,首选读取app缓存,如果app缓存中不存在,再到设备的SD卡中特定文件中获取。
7.根据权利要求6所述一种Android设备唯一标识的获取方法,其特征在于,所述步骤四:
若app缓存中存在,则将设备唯一标识加密,并存放到SD卡特定文件中。
8.根据权利要求7所述一种Android设备唯一标识的获取方法,其特征在于,所述步骤四:
从SD卡中特定文件中获取设备唯一标识时,若SD卡中特定文件中存在,则将SD卡特定文件中获取到的内容进行解密处理。
9.根据权利要求8所述一种Android设备唯一标识的获取方法,其特征在于,所述步骤四:
若对SD卡特定文件中获取的内容解密成功,则表示设备唯一标识获取成功,同时将设备唯一标识存储到app缓存中。
10.根据权利要求9所述一种Android设备唯一标识的获取方法,其特征在于,所述步骤四:
若对SD卡特定文件中获取的内容解密失败,则获取Android系统关键信息IMEI、SerialNumber、AndroidId,重新生成设备唯一标识,并将设备唯一标识首先存储到app缓存中,然后进行加密存放到SD卡特定文件中。
CN201810613683.6A 2018-06-14 2018-06-14 一种Android设备唯一标识的获取方法 Pending CN108830113A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810613683.6A CN108830113A (zh) 2018-06-14 2018-06-14 一种Android设备唯一标识的获取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810613683.6A CN108830113A (zh) 2018-06-14 2018-06-14 一种Android设备唯一标识的获取方法

Publications (1)

Publication Number Publication Date
CN108830113A true CN108830113A (zh) 2018-11-16

Family

ID=64141849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810613683.6A Pending CN108830113A (zh) 2018-06-14 2018-06-14 一种Android设备唯一标识的获取方法

Country Status (1)

Country Link
CN (1) CN108830113A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743160A (zh) * 2018-12-20 2019-05-10 深圳市任子行科技开发有限公司 防止Hook串改的安卓设备唯一标识获取方法和装置
CN110008758A (zh) * 2019-03-29 2019-07-12 北京金山安全软件有限公司 一种id获取方法、装置、电子设备及存储介质
CN111274204A (zh) * 2019-12-20 2020-06-12 上海淇玥信息技术有限公司 终端识别方法、生成移动设备标识组合码的方法及其装置、终端、网络侧设备和存储介质
CN111601304A (zh) * 2020-04-29 2020-08-28 上海伊邦医药信息科技有限公司 一种用于控制安全风险移动端设备唯一识别码的生成方法
CN112187815A (zh) * 2020-09-30 2021-01-05 湖南快乐阳光互动娱乐传媒有限公司 一种获取电子设备唯一标识的方法及系统
CN112507291A (zh) * 2020-11-18 2021-03-16 北京深思数盾科技股份有限公司 Android设备的唯一标识的生成方法和装置
CN112784318A (zh) * 2019-11-07 2021-05-11 北京京东尚科信息技术有限公司 一种生成设备唯一识别码的方法、装置和存储介质
CN112995355A (zh) * 2021-03-02 2021-06-18 上海星融汽车科技有限公司 设备唯一识别码的生成方法、系统及电子设备
CN113342854A (zh) * 2021-06-21 2021-09-03 杭州推啊网络科技有限公司 一种移动设备唯一id生成方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105704207A (zh) * 2015-12-18 2016-06-22 百势软件(北京)有限公司 一种生成唯一标识的方法、终端和网络侧
CN105871855A (zh) * 2016-04-11 2016-08-17 杨鹏 一种电子设备标识码生成、存储和识别的方法及系统
CN106375528A (zh) * 2016-10-27 2017-02-01 上海斐讯数据通信技术有限公司 一种手机id确定方法及其异常检测处理方法
CN107360265A (zh) * 2017-05-26 2017-11-17 武汉斗鱼网络科技有限公司 一种设备唯一标识码获取方法、装置及移动终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105704207A (zh) * 2015-12-18 2016-06-22 百势软件(北京)有限公司 一种生成唯一标识的方法、终端和网络侧
CN105871855A (zh) * 2016-04-11 2016-08-17 杨鹏 一种电子设备标识码生成、存储和识别的方法及系统
CN106375528A (zh) * 2016-10-27 2017-02-01 上海斐讯数据通信技术有限公司 一种手机id确定方法及其异常检测处理方法
CN107360265A (zh) * 2017-05-26 2017-11-17 武汉斗鱼网络科技有限公司 一种设备唯一标识码获取方法、装置及移动终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BESTWZR: "Android设备唯一标识生成方法", 《CSDN》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743160A (zh) * 2018-12-20 2019-05-10 深圳市任子行科技开发有限公司 防止Hook串改的安卓设备唯一标识获取方法和装置
CN110008758A (zh) * 2019-03-29 2019-07-12 北京金山安全软件有限公司 一种id获取方法、装置、电子设备及存储介质
CN110008758B (zh) * 2019-03-29 2021-06-18 北京金山安全软件有限公司 一种id获取方法、装置、电子设备及存储介质
CN112784318A (zh) * 2019-11-07 2021-05-11 北京京东尚科信息技术有限公司 一种生成设备唯一识别码的方法、装置和存储介质
CN111274204A (zh) * 2019-12-20 2020-06-12 上海淇玥信息技术有限公司 终端识别方法、生成移动设备标识组合码的方法及其装置、终端、网络侧设备和存储介质
CN111601304A (zh) * 2020-04-29 2020-08-28 上海伊邦医药信息科技有限公司 一种用于控制安全风险移动端设备唯一识别码的生成方法
CN112187815A (zh) * 2020-09-30 2021-01-05 湖南快乐阳光互动娱乐传媒有限公司 一种获取电子设备唯一标识的方法及系统
CN112187815B (zh) * 2020-09-30 2023-04-28 湖南快乐阳光互动娱乐传媒有限公司 一种获取电子设备唯一标识的方法及系统
CN112507291A (zh) * 2020-11-18 2021-03-16 北京深思数盾科技股份有限公司 Android设备的唯一标识的生成方法和装置
CN112995355A (zh) * 2021-03-02 2021-06-18 上海星融汽车科技有限公司 设备唯一识别码的生成方法、系统及电子设备
CN112995355B (zh) * 2021-03-02 2023-04-25 上海星融汽车科技有限公司 设备唯一识别码的生成方法、系统及电子设备
CN113342854A (zh) * 2021-06-21 2021-09-03 杭州推啊网络科技有限公司 一种移动设备唯一id生成方法和系统

Similar Documents

Publication Publication Date Title
CN108830113A (zh) 一种Android设备唯一标识的获取方法
CN106162517B (zh) 一种虚拟sim卡的管理方法及系统
CN101796858B (zh) 利用用户身份模块策略的服务提供商激活
EP2521034B1 (en) Managing method, device and terminal for application program
CN109889589A (zh) 一种基于区块链实现嵌入式硬件ota升级系统及方法
EP2963958A1 (en) Network device, terminal device and information security improving method
CN109743160A (zh) 防止Hook串改的安卓设备唯一标识获取方法和装置
CN110381103B (zh) 一种下载运营商配置文件的方法、装置和系统
CN107040568A (zh) 标识信息生成方法和装置
CN112560017B (zh) 一种使用三级证书认证实现apk统一签名的方法
CN105228153A (zh) 网络接入方法、系统和无线路由设备
CN109660353A (zh) 一种应用程序安装方法及装置
CN105678192A (zh) 一种基于智能卡的密钥应用方法及应用装置
CN112689285B (zh) 一种移动端sdk的授权认证方法及系统
CN105701427A (zh) 一种智能卡写入数据的方法及装置
CN109391473B (zh) 一种电子签章的方法、装置及存储介质
CN113961226B (zh) 一种软件开发工具包修复方法、终端、服务器及设备
WO2016173174A1 (zh) 锁网数据升级方法和装置
CN111970122B (zh) 识别官方app的方法、移动终端及应用服务器
CN105577657A (zh) 一种ssl/tls算法套件的扩展方法
WO2012126239A1 (zh) 一种远程获取锁网信息的方法及终端
CN110602051B (zh) 基于共识协议的信息处理方法及相关装置
CN103338148B (zh) 通讯录的更新方法及装置
CN112637855B (zh) 基于区块链的机卡绑定方法和服务器
CN107623679A (zh) 一种数据标记化处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20181116

RJ01 Rejection of invention patent application after publication