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的唯一性基于以下几个方面:

  1. 生成规则: UUID有不同的版本,每个版本都有其特定的生成规则。主要的版本有1、3、4和5,其中1和4是最常用的。
  • 版本1: 基于时间和节点的唯一性。包含时间戳和节点信息,以及时钟序列和随机数。
  • 版本4: 完全随机生成。基于伪随机数生成器生成的128位数字。 这些生成规则确保了UUID在生成时考虑了多种因素,包括时间、节点信息和随机性,从而提高了唯一性。
  1. 位数: UUID标准定义了128位,通常以32位的16进制数表示。这使得UUID的可能取值非常大,为2128 ,即3.4×1038
  2. 节点信息: 版本1的UUID包含了节点信息,这是一个用于标识生成UUID的计算机的唯一标识。这确保了即使在不同计算机上生成UUID,也不太可能发生冲突。

尽管UUID的唯一性是有保障的,但在实际应用中,特别是在大规模系统中,可能还需要考虑以下因素:

  • 随机数生成器的质量: 如果用于生成UUID的伪随机数生成器不够随机,可能会导致生成的UUID不是绝对唯一的。因此,使用高质量的随机数生成器很重要。
  • 时钟回拨问题: 在版本1的UUID中,如果系统时钟发生回拨,可能导致生成的UUID不是严格递增的。这是因为UUID中包含了时间戳信息。


使用场景

UUID 由于其唯一性和分散性,被广泛用于多种场景。以下是一些常见的使用场景:

  1. 数据库主键: UUID常常被用作数据库表的主键,特别是在分布式系统中。这样做可以避免在多个节点生成记录时的主键冲突问题。
  2. 分布式系统: 在分布式系统中,为了确保不同节点生成的标识符是唯一的,UUID被广泛用于唯一标识分布式系统中的实体。
  3. 唯一文件名: UUID可用于生成唯一的文件名,避免文件在系统中的命名冲突。
  4. 会话标识: 在Web应用中,UUID经常被用于生成唯一的会话标识,以标识用户的会话状态。
  5. 消息队列: 在消息队列系统中,UUID可以用作唯一的消息标识符,以确保消息的唯一性。
  6. 日志跟踪: 在日志系统中,UUID可以用于唯一标识日志条目,帮助在分布式环境中跟踪和调试问题。
  7. 唯一标识符: 在各种系统和应用中,UUID常被用于生成唯一标识符,例如设备标识符、事务标识符等。
  8. 缓存键: 在缓存系统中,UUID可用于生成唯一的缓存键,以确保不同实体的缓存不会冲突。
  9. 安全性: 在一些安全应用中,UUID可以用于生成随机的令牌、密钥或密码。
  10. 实验和测试: 在开发和测试环境中,UUID通常用于生成模拟数据,以确保测试的独立性和可靠性。


https://cloud.tencent.com/developer/article/2377401