2016-03-09 3 views
1

Википедия страница https://en.wikipedia.org/wiki/Universally_unique_identifier утверждает, что в 3-й версии (и, следовательно, предположительно 5) UUID спецификации: «Шесть битов заменяются фиксированными значениями»Можно ли объявить собственное [мини] пространство имен в NSUUID?

я работаю над приложением iPhone, который использует NSUUID класс. Мой клиент попросил возможность объявить свой собственный небольшой фиксированный набор символов в полной строке UUID. Из того, что я прочитал до сих пор, я не думаю, что это возможно - для просто загружается по понятным причинам - однако я обязан спросить, есть ли способ, чтобы я мог ответить/отклонить его вопросы с поручителем.

Так есть или нет, пожалуйста?

Заранее спасибо.

+0

нет API, но, очевидно, есть способ сделать это. вопрос в том, насколько важна уникальность, будучи в состоянии доказать, что уникальность и побочные эффекты отказа ... – Wain

ответ

1

Возможно ли это? Конечно; но если iPhone вашего клиента не живет в альтернативном юниверсе, возможно, приложение iPhone вашего клиента будет лучше обслуживаться, придерживаясь версий, описанных в варианте RFC 4122.

Возможно, вам будет удобно сесть за клиента и объяснить макет uuid. Вы можете использовать Mahonri Moriancumer's UUID and GUID Generator and Forensics для демонстрации вариантов UUID.

Update: Размышляя это через немного больше, есть способ, чтобы добавить подпись к сгенерированных UUID, ...

Рассмотрим UUID структуру версии 1 (RFC 4122 вариант). Для этого типа UUID последние 12 цифр представляют собой MAC-адрес сетевой карты компьютера, которая сгенерировала UUID.

Если вы должны были получить MAC-адрес с конкретной сетевой карты (даже старой, устаревшей), а затем уничтожить карту, вы можете быть уверены, что ни один другой компьютер не будет генерировать UUID (v1), используя этот Ethernet-адрес Ethernet-карты снова. Затем вы можете использовать этот MAC-адрес в качестве своего собственного фиксированного набора символов в полной строке UUID «.

Затем просто напишите свой собственный генератор UUID v1, который использует этот адрес в качестве последних 12 цифр UUID. Остальные номера UUID могут соответствовать спецификации v1. Полученные сгенерированные UUID будут полностью соответствовать спецификации v1 и могут быть идентифицированы (как набор) на последние 12 цифр.

Смежные вопросы