Я ищу значение, которое будет уникальным для каждого компьютера, независимого от платформы. Это для регистрации компьютеров в учетной записи, так что вы не можете войти в систему с не зарегистрированных. Я не хочу использовать MAC-адрес, так как это можно легко изменить. Мне было интересно, может быть, получить идентификаторы из нескольких аппаратных компонентов и объединить их, чтобы получить уникальный идентификатор для машины. Однако я не знал, как получить идентификаторы от указанных компонентов, используя Java. Я провел некоторое исследование и нашел способ получить серийный номер процессора, но это будет работать только для окон, поскольку он просто запускает временную визуальную базовую команду/скрипт/что угодно. Любая информация приветствуется, спасибо.Независимая от платформы уникальная машина id java
ответ
Вы правы в возможности подделать MAC-адрес. Нет машинных идентификаторов, которые вы не можете подделать так или иначе, поэтому идентификация машины конкретным образом, как правило, плохая идея. Это еще худшая идея с Java, поскольку вся точка Java должна быть абстрагирована от аппаратного обеспечения. Который действительно только оставляет вас с JVM и сетевым стеком, чтобы получить информацию.
Так что только две возможности, которые я вижу.
Сначала вы можете попробовать создать хэш некоторой комбинации имени хоста, текущего пути к классам, свойств системы и значений JVM. Вдоль этой линии вы можете увидеть, какие значения вы получаете от System.getenv() или System.getProperties()
Второй способ - использовать собственный API среды выполнения, чтобы возвращать системные значения, но вам нужно будет иметь конкретные команды для запуска для каждого типа ОС, который пытается поддерживать ваш клиент. Пример:
Runtime.getRuntime(). Exec ("some_command_line_prog_that_returns_sys_info");
- 1. конкатенатный путь - независимая от платформы «/», «\»
- 2. Переносимость против платформы Независимая
- 3. Уникальная виртуальная машина
- 4. Python - независимая от платформы 5.1 Звуковая библиотека
- 5. Mac Address - C++ - независимая от платформы
- 6. Независимая от платформы строка привязки для EXCEL в java
- 7. Независимая от платформы Java <-> C# Взаимодействие
- 8. Независимая от платформы size_t Спецификаторы формата в c?
- 9. Независимая от платформы библиотека пользовательского интерфейса для использования с GLUT
- 10. Помощь с использованием схемы базы данных (независимая от платформы)
- 11. Правильный способ scanf и printf переменная size_t (независимая от платформы)
- 12. Лучшая независимая от pi постоянная?
- 13. Независимость от платформы Java
- 14. Java аудиопотока независимо от платформы
- 15. iptables - независимая от направления фильтра
- 16. файловая система, независимая от платформы, и где я получаю любые изменения, внесенные в файловую систему
- 17. Уникальная база ID на другой колонке
- 18. платформа независимая консоль OSGi
- 19. Платформа независимая Изображение в java
- 20. Независимая платформа Java 7 Base64?
- 21. Phonegap/Кордова независимая служба поддержки
- 22. Как независимая платформа Java, когда для ее запуска требуется JVM?
- 23. потокобезопасная уникальная генерация id в C++
- 24. уникальная база данных urlkey вместо id
- 25. Независимо от платформы Eclipse?
- 26. Независимо от платформы WCF?
- 27. GenericPortlet - независимая платформа FileUpload
- 28. C++: платформа независимая игра lib?
- 29. Несмотря на тяжелую зависимость от JVM, как Java независима от платформы?
- 30. Независимые от платформы пути в Java
Все может быть легко подделано для приложения пользовательского пространства. Большинство товарных аппаратов даже не имеют уникального идентификатора, сверкнутого в какую-то постоянную память. –
см. Обсуждение здесь http://stackoverflow.com/questions/2004666/get-unique-machine-id – Leo
Спасибо за ответы, я до сих пор не знаю, как я могу это сделать. – user1009569