OAID
Open Anonymous Device Identifier,开放匿名设备ID,广告标识符,是一种非永久性设备标识符。可以在保护用户个人数据隐私安全的前提下,向用户提供个性化广告、用户统计,同时三方监测平台也可以向广告主提供转化归因分析。
是中国移动安全联盟(MSA)发起并制定标准的安卓端用户识别ID,用以取代目前在安卓端普遍使用的IMEI,以进一步保护用户隐私。与IDFA类似,OAID也不是真正意义上的硬件ID,用户可以关闭或重置该ID。包括华为、小米等多家手机厂商,都是支持该ID。
1fe9a970-efbb-29e0-0bdd-f5dbbf751ab5。
以下是OAID的价值:
保护用户隐私:在大数据和人工智能时代,用户隐私保护的需求越来越高。传统的移动终端设备标识如国际移动设备识别码(IMEI)等已被部分国家认定为用户隐私的一部分。而OAID旨在保护用户的隐私,同时帮助移动应用开发者进行用户分析和广告投放。
提供个性化服务:使用OAID可以在保护用户隐私的前提下,向用户提供个性化广告、用户统计等服务。这有助于提高用户体验和满意度,同时也有利于企业的业务拓展和收益提升。
促进数据安全:OAID的匿名性和非永久性特点有助于保护用户数据的隐私和安全,避免敏感信息的泄露和滥用。这有助于维护网络空间的安全和稳定,促进数字经济的健康发展。
提升广告效果:通过使用OAID,广告主可以更加精准地定位目标受众,提高广告投放的效率和效果。三方监测平台也可以向广告主提供转化归因分析,帮助广告主更好地评估广告效果和优化投放策略。
https://developer.huawei.com/consumer/cn/doc/HMSCore-Guides/oaid-0000001050783198
UDID
UDID是 (Unique Device Identifier) 的缩写,中文意思是设备唯一标识.UDID是一个由40个字符组成的十六进制序列,用于唯一标识一台苹果设备。它相当于设备的指纹,使得软件开发者和服务提供商能够提供个性化的设备识别服务。移动网络可利用UDID来识别移动设备,如iPhone和iPad。
苹果设备的每台机器在生产时都会被赋予一个独一无二的UDID。就像社会保险号那样,UDID用于在各种应用程序中标识设备,这对于软件追踪和分析、设备认证以及个性化定制非常有价值。UDID是在设备生产时赋予的,无法更改,确保每台设备都是独一无二的。
但是我们需要注意的一点是,对于已越狱了的设备,UDID并不是唯一的.使用Cydia插件UDIDFaker,可以为每一个应用分配不同的UDID.
一个典型的 UDID 类似这样:
37f2f993bae681636e30e74b04d6b8955ba36f29
UUID
UUID是Universally Unique Identifier的缩写,中文意思是通用唯一识别码.UUID 的目的是让分布式系统中的所有元素都能有唯一的识别信息。如此一来,每个人都可以创建不与其它人冲突的 UUID,就不需考虑数据库创建时的名称重复问题。
UUID 是由128位二进制数组成,通常表示为32个十六进制字符,形如:
550e8400-e29b-41d4-a716-446655440000
xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
数字 M
的四位表示 UUID 版本,当前规范有5个版本,M可选值为1, 2, 3, 4, 5
;
数字 N
的一至四个最高有效位表示 UUID 变体( variant ),有固定的两位10xx
因此只可能取值8, 9, a, b
UUID版本通过M表示,当前规范有5个版本,M可选值为1, 2, 3, 4, 5
。这5个版本使用不同算法,利用不同的信息来产生UUID,各版本有各自优势,适用于不同情景。具体使用的信息
- version 1, date-time & MAC address
- version 2, date-time & group/user id
- version 3, MD5 hash & namespace
- version 4, pseudo-random number
- version 5, SHA-1 hash & namespace
使用较多的是版本1和版本4,其中版本1使用当前时间戳和MAC地址信息。版本4使用(伪)随机数信息,128bit中,除去版本确定的4bit和variant确定的2bit,其它122bit全部由(伪)随机数信息确定。
因为时间戳和随机数的唯一性,版本1和版本4总是生成唯一的标识符。若希望对给定的一个字符串总是能生成相同的 UUID,使用版本3或版本5。
UUID 是唯一的吗?
UUID 的唯一性是通过其生成规则和位数保障的。UUID的唯一性基于以下几个方面:
- 生成规则: UUID有不同的版本,每个版本都有其特定的生成规则。主要的版本有1、3、4和5,其中1和4是最常用的。
- 版本1: 基于时间和节点的唯一性。包含时间戳和节点信息,以及时钟序列和随机数。
- 版本4: 完全随机生成。基于伪随机数生成器生成的128位数字。 这些生成规则确保了UUID在生成时考虑了多种因素,包括时间、节点信息和随机性,从而提高了唯一性。
- 位数: UUID标准定义了128位,通常以32位的16进制数表示。这使得UUID的可能取值非常大,为2128 ,即3.4×1038
- 节点信息: 版本1的UUID包含了节点信息,这是一个用于标识生成UUID的计算机的唯一标识。这确保了即使在不同计算机上生成UUID,也不太可能发生冲突。
尽管UUID的唯一性是有保障的,但在实际应用中,特别是在大规模系统中,可能还需要考虑以下因素:
- 随机数生成器的质量: 如果用于生成UUID的伪随机数生成器不够随机,可能会导致生成的UUID不是绝对唯一的。因此,使用高质量的随机数生成器很重要。
- 时钟回拨问题: 在版本1的UUID中,如果系统时钟发生回拨,可能导致生成的UUID不是严格递增的。这是因为UUID中包含了时间戳信息。
使用场景
UUID 由于其唯一性和分散性,被广泛用于多种场景。以下是一些常见的使用场景:
- 数据库主键: UUID常常被用作数据库表的主键,特别是在分布式系统中。这样做可以避免在多个节点生成记录时的主键冲突问题。
- 分布式系统: 在分布式系统中,为了确保不同节点生成的标识符是唯一的,UUID被广泛用于唯一标识分布式系统中的实体。
- 唯一文件名: UUID可用于生成唯一的文件名,避免文件在系统中的命名冲突。
- 会话标识: 在Web应用中,UUID经常被用于生成唯一的会话标识,以标识用户的会话状态。
- 消息队列: 在消息队列系统中,UUID可以用作唯一的消息标识符,以确保消息的唯一性。
- 日志跟踪: 在日志系统中,UUID可以用于唯一标识日志条目,帮助在分布式环境中跟踪和调试问题。
- 唯一标识符: 在各种系统和应用中,UUID常被用于生成唯一标识符,例如设备标识符、事务标识符等。
- 缓存键: 在缓存系统中,UUID可用于生成唯一的缓存键,以确保不同实体的缓存不会冲突。
- 安全性: 在一些安全应用中,UUID可以用于生成随机的令牌、密钥或密码。
- 实验和测试: 在开发和测试环境中,UUID通常用于生成模拟数据,以确保测试的独立性和可靠性。
https://cloud.tencent.com/developer/article/2377401