2011-12-29 5 views
9

मुझे पता है कि सीएफ़यूआईआईडी मैक पते और कुछ अन्य सामान से उत्पन्न होता है। तो क्या एमएसी पता वापस CFUUID से प्राप्त करने के लिए है?आईओएस CFUUID को मैक पते में कनवर्ट करें

हमारे पास कुछ ब्लूटूथ डिवाइस हैं और सभी उपयोगकर्ता जानते हैं कि डिवाइस पर लिखे गए मैक पते के अंतिम 3 भाग हैं। तो हम सही डिवाइस का चयन करने के लिए उपयोगकर्ता और विकल्प देना चाहते हैं। आईओएस पक्ष पर, ऐसा लगता है कि हमारे पास CFUUID है। तो यूयूआईडी को वापस मैक पते में बदलने का कोई तरीका है?

Or even better would be if there's a way to get a peripheral's MAC address directly instead of UUID, but doesn't seem like that's possible

धन्यवाद

+2

सीएफ़यूआईआईडी मैक से उत्पन्न नहीं होता है। आप इसे कैसे प्राप्त करेंगे?मुझे पूरा यकीन है कि मैक प्राप्त करना और इसे HTTP या किसी अन्य प्रोटोकॉल के माध्यम से भेजना आसान है। – Eimantas

+0

मैं आईफोन के यूयूआईडी के बारे में बात नहीं कर रहा हूं, मैं पेरिफेरल के यूयूआईडी के बारे में बात कर रहा हूं। मैंने ऑनलाइन पढ़ा है कि यूयूआईडी मैक पते और वर्तमान समय के संयोजन से बनाया गया है। – user1122025

+0

आपको और स्पष्ट होना चाहिए कि आप CoreBluetooth के संदर्भ में CFUUID के बारे में बात कर रहे हैं, और यहां तक ​​कि विशेष रूप से सीबीपीरिफेरल के संदर्भ में भी। यह अजीब बात है कि सीबीपीरिफेरल्स के पास पता संपत्ति की बजाय यूयूआईडी संपत्ति है, क्योंकि उनके द्वारा प्रस्तुत ब्लूटूथ डिवाइस में एक पता है और यूयूआईडी नहीं है। इसलिए यह समझ जाएगा कि सीबीपीरिफेरल से जुड़े विशेष यूयूआईडी ब्लूटूथ डिवाइस पते पर आधारित है, लेकिन मैंने इसकी कोई पुष्टि नहीं देखी है। – barrycburton

उत्तर

1

ठीक है, आप अपने प्रश्न के लिए टिप्पणियों से सीखा है हो सकता है के रूप में, इस सवाल का जवाब स्पष्ट रूप से है: NO। एक विशेष यूयूआईडी उत्पन्न करने वाले बीज प्राप्त करने के लिए यह संभव नहीं है (व्यावहारिक रूप से)। बशर्ते वास्तव में आपके यूयूआईडी उत्पन्न करने वाले एल्गोरिदम ने इसे उत्पन्न करने के लिए आपके डिवाइस के मैक पते का उपयोग किया था, और मुझे लगता है कि आप गारंटी नहीं दे सकते कि यह यूयूआईडी जनरेटर का उपयोग करने का मामला है, जब तक कि आपके पास यूयूआईडी जनरेटर कोड तक पहुंच न हो या एल्गोरिदम (UUID Version 1 probably?) और यह आपके लिए एक अपारदर्शी ऑपरेशन नहीं है (तुरंत यूयूआईडी पीढ़ी के एल्गोरिदम के बहुत ही उद्देश्य को हराकर)।

जबकि आप स्पष्ट रूप से कुछ पर हैं जब आप कहते हैं कि यूयूआईडी की पीढ़ी डिवाइस के मैक पते, टाइमस्टैम्प, हैशिंग, यूडीआईडी ​​(आईओएस डिवाइस) जैसे अन्य घटकों का उपयोग कर सकती है। तथ्य यह है कि मैक पता, यूयूआईडी उत्पन्न करने के लिए उपयोग किए जाने वाले कई कारकों में से एक हो सकता है, इसलिए यदि आप उसी प्रणाली द्वारा उत्पन्न यूयूआईडी के बड़े नमूने से इसे रद्द करने की कोशिश में बहुत अधिक कंप्यूटिंग पावर खर्च करना चाहते थे एक ही स्थिति; हम संभवतः एक क्वांटम कंप्यूटर बर्बाद करने वाले कंप्यूटिंग पावर के बारे में बात कर रहे होंगे जो देखने योग्य ब्रह्मांड में कणों के रूप में कई संयोजनों को खोजने की कोशिश कर रहा है ताकि आपको एक मैक पता मिल सके जो आपको ब्लूटूथ परिधीय से विशेष रूप से प्राप्त हो सकता है, और आकस्मिक रूप से हारना एक बार और अधिक जगह में यूयूआईडी रखने का उद्देश्य।

दूसरी तरफ, किसी ने आपके प्रश्न पर टिप्पणी की है: पिछले यूआरआईडी को इतनी उबाऊ लगती है कि पिछले अनुच्छेद विचार के शीर्ष पर निर्माण करना है, इसलिए आप टकराव से बच सकते हैं: डुप्लीकेट उत्पन्न करना न केवल उन लोगों से आ रहा है आपके कंप्यूटर द्वारा उत्पन्न किया गया है, लेकिन हर डिवाइस द्वारा उत्पन्न सभी अन्य लोगों से, दिन के हर पल (अनुरोध प्रमाणित करने के लिए, डेटाबेस में स्ट्रिंग इंडेक्स कुंजी बनाएं, या सेवाओं और विशेषताओं की पहचान करने के लिए) ताकि आपकी अच्छी सेवा या विशेषता का नाम:

AAAAAAAA-BBBB-CCCC-DDDD-EEEEFFFF6666 

एक ही शांत फू सेवा या एक ही यूयूआईडी के साथ विशेषता के साथ उलझन में नहीं आता है।

सामान्य रूप से, अधिक जानकारी के लिए विकिपीडिया या केवल कोर ब्लूटूथ प्रोग्रामिंग गाइड की जांच करें, डेवलपर पोर्टल बनाएं। यह अभी भी एनडीए के तहत है इसलिए आपको इसे पढ़ने के लिए सक्रिय डेवलपर प्रोग्राम प्रमाण-पत्र के साथ एक पंजीकृत आईओएस डेवलपर होना होगा।

1

मैं बीएलई उपकरणों के प्लेटफार्म-स्वतंत्र, स्थैतिक विन्यास को तैनात करने का एक तरीका ढूंढ रहा था। मैं निराश हो रहा था (ऐप्पल के यूयूआईडी +/- अर्थहीन हैं, और मैक/बीडीएडीडीआरआर जो अधिकांश/अन्य प्लेटफार्मों पर प्राप्त किया जा सकता है कोरब्लूट से उपलब्ध नहीं है)। सौभाग्य से, मैंने देखा कि "डिवाइस सूचना सेवा" प्रोफ़ाइल (0x180A) में "सिस्टम आईडी" विशेषता (0x2A23) शामिल है जो डिवाइस के अद्वितीय मैक/बीडीएडीडीआर पते को एन्कोड करता है। मुझे नहीं पता कि बीएलई डिवाइस के लिए इस सेवा का पर्दाफाश करना अनिवार्य है या नहीं।

0

आईओएस डिवाइस के लिए मैक पता पाने का एक तरीका है। लेकिन केवल ios8 और बाद में काम करता है। कोई निजी एपीआई नहीं https://github.com/Baoge2012/MacAddressLibDemo