Ios5 iOS将CFUUID转换为MAC地址

Ios5 iOS将CFUUID转换为MAC地址,ios5,core-bluetooth,Ios5,Core Bluetooth,我知道CFUUID是由MAC地址和其他一些东西生成的。那么有没有办法从CFUUID获得MAC地址呢 我们有一些蓝牙设备,用户只知道写在设备上的MAC地址的最后3部分。因此,我们希望给用户和选择正确设备的选项。在iOS方面,看起来我们只有CFUUID。那么有没有办法将UUID转换回mac地址 谢谢好吧,正如您可能已经从对您的问题的评论中了解到的那样,答案显然是:不可能(实际上)获得生成特定UUID的种子。假设生成UUID的算法确实使用了设备的MAC地址来生成它,并且我猜您不能保证您使用的UUID

我知道CFUUID是由MAC地址和其他一些东西生成的。那么有没有办法从CFUUID获得MAC地址呢

我们有一些蓝牙设备,用户只知道写在设备上的MAC地址的最后3部分。因此,我们希望给用户和选择正确设备的选项。在iOS方面,看起来我们只有CFUUID。那么有没有办法将UUID转换回mac地址


谢谢

好吧,正如您可能已经从对您的问题的评论中了解到的那样,答案显然是:不可能(实际上)获得生成特定UUID的种子。假设生成UUID的算法确实使用了设备的MAC地址来生成它,并且我猜您不能保证您使用的UUID生成器是这样的,除非您可以访问UUID生成器代码或算法(),并且对您来说这不是一个不透明的操作(这直接违背了uuid生成算法的目的)

当你说UUID的生成可能会使用设备的MAC地址时,你显然已经了解了一些事情,其他组件如时间戳、哈希、UDID(iOS设备)等等。事实上,MAC地址可能只是用于生成UUID的众多因素之一,因此,如果您花费大量计算能力,试图从相同系统在相同条件下生成的大量UUID样本中解构它,我们可能会谈论浪费计算能力的量子计算机在可观测的宇宙中探索尽可能多的粒子组合,这样你就可以得到一个MAC地址,如果你愿意的话,还可以从蓝牙外围设备中获得一个特征,顺便说一下,这再次挫败了拥有UUID的初衷

另一方面,更进一步,有人对你的问题发表了评论:你觉得UUID如此无聊的原因,建立在上一段的思想之上,是为了避免冲突:生成副本不仅来自于你的计算机生成的副本,而且来自于每一台设备随时生成的所有其他副本当天(为了验证请求、在数据库中创建字符串索引键或识别服务和特征),您的酷服务或特征命名为:

AAAAAAAA-BBBB-CCCC-DDDD-EEEEFFFF6666 
不会与另一个具有相同UUID的酷foo服务或特性混淆


一般来说,要了解更多信息,请查看wikipedia或核心蓝牙编程指南,从开发者门户网站获取。它仍在保密协议下,因此您必须是具有活动开发者程序凭据的注册iOS开发者才能阅读它。

我正在寻找一种方法来部署与平台无关的BLE设备静态配置。I被劝阻了(苹果的UUID是+/-无意义的,在大多数/所有其他平台上可以获得的MAC/BDADDR无法从CoreBooth访问)。幸运的是,我注意到“设备信息服务”配置文件(0x180A)包含一个“系统ID”属性(0x2A23)它对设备的唯一MAC/BDADDR地址进行编码。我不知道BLE设备是否必须公开此服务。

有一种方法可以获取ios设备的MAC地址。但仅适用于ios8和更高版本。没有专用api。

CFUUID不是从MAC生成的。您如何推导它?我非常确定获取m更容易AC并通过HTTP或任何其他协议发送。我不是说iPhone的UUID,我是说外设的UUID。我在网上读到UUID是由MAC地址和当前时间的组合创建的。你应该更清楚,你是在CoreBlutooth的上下文中谈论CFUUID,更具体地说是在C的上下文中BPeripheral。CBPeripheral有UUID属性而不是address属性,这很奇怪,因为它们所代表的蓝牙设备有地址而不是UUID。因此,连接到CBPeripheral的特定UUID基于蓝牙设备地址是有意义的,但我还没有看到对此的任何确认。我可以问一下,您为什么选择显示人类可读的设备名称比显示大的十六进制字符串更方便用户。