2012-05-16 2 views
1

Я ищу способ создания уникального идентификатора для системы, так что каждый раз, когда этот идентификатор создается, он должен быть таким же, как и в системе. (Я не уверен, что это возможно) Я использую Java для достижения этой цели и должен работать на Windows и Unix (Linux)Создание уникального идентификатора (воспроизводимого) для системы

После того, как потратил некоторое время на поиск в различных статьях, если нашел несколько хороших решений, но каждый из них имел свои собственные ограничения. Следующие 2 варианта были очень близки, хотя.

  1. Использование пакета UUID в Java: Это дает уникальные идентификаторы, где в возможно столкновения ничтожно мала, но я не получаю тот же уникальный идентификатор для системы.
  2. Использование MAC-адреса системы: Я сомневаюсь, что это будет хорошо работать с виртуальными хостами.

Любые предложения людей?

+0

Какое значение составляет ваше определение? Установка ОС? Пользовательский профиль ОС? Аппаратные средства? –

+2

Возможно, это поможет: http://stackoverflow.com/questions/1986732/how-to-get-a-unique-computer-identifier-in-java-like-disk-id-or-motherboard-id –

ответ

0

Сгенерируйте UUID и сохраните 128-битные или их шестнадцатеричные строки для хранения. Позже прочитайте с хранилища, чтобы узнать, какую ценность вы ранее писали.

Входящий в комплект класс java.util.UUID может генерировать либо UUID версии 3, либо версию 4. Другие библиотеки могут создавать другие версии.

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