Re: Hardware id для кроссплатформенной программы
От: maks1180  
Дата: 04.02.23 21:14
Оценка: 12 (1)
Есть огромный опыт по этой теме, но только на Windows (десятки миллинов записей в БД, более 10 лет собирали), определяли по mac адресу и hdd.
Проблемы следующие:
1) mac адреса — есть одинаковые, постоянно вручную довносим такие адреса, что бы их исключать из опеределения.
2) hdd — так же бывают одинаковые (особенно виртуальные диски), так же довносим список hdd которые нужно исключать.
— ещё серийник по разному определяется в зависимости от версии Windows и прав (админ или обычный пользователь).
— ещё после обновления драйверов диска или перепрошики диска может по другому выдавать серийник.
— проблемы с определением серийника NVMe дисков. Пока не нашёл способа его определить без прав админа. Windows ерунду выдаёт заместо серийника.

Так же есть следующая проблема:
Если есть несколько дисков, то выбираем тот на котором стоит система. Но если есть несколько mac адресов, то не понятно какой из них выбрать.
1) например у пользователя 2 mac адреса, мы оба запоминаем, но допустим он перенёс сетевую карту или один диск во второй комп, и второй комп так же теперь идентифицируется как и первый (т.е. имееют одинаковый id).
2) если запоминать не все, а скажем брать первый (или самый меньший) mac адрес, то получается ерунда, так как пользователь может вытащить или воткнуть USB wi-fi адаптер или PCI сетевую карту и будет казаться, что это разные компы.

P.S. Сам готов заплатить за такое решение для Windows & Linux (должно работать без прав админа), если оно будет работать лучше чем моё.
===============================================
(реклама, удалена модератором)
Отредактировано 04.02.2023 21:32 maks1180 . Предыдущая версия . Еще …
Отредактировано 04.02.2023 21:29 maks1180 . Предыдущая версия .
Отредактировано 04.02.2023 21:24 maks1180 . Предыдущая версия .
Отредактировано 04.02.2023 21:21 maks1180 . Предыдущая версия .
Отредактировано 04.02.2023 21:15 maks1180 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.