Страницы

Поиск по вопросам

понедельник, 25 ноября 2019 г.

Как получить уникальный идентификатор компьютера?


Планирую собирать анонимную статистику использования программы на сервер и хочу имет
возможность группировать сессии с одной машины. Встал вопрос, как получить в меру уникальный идентификатор компьютера и/или пользователя компьютера, при этом соблюдая анонимность (т.е. например не получать имя учетки человека)?
Что-то типа серийного номера жесткого диска или процессора, чтобы при каждом запуске программы он был один и тот же. Редкие случаи смены железа опустим.

ComputerUID := ...

    


Ответы

Ответ 1



Судя по вопросу про Delphi подразумевается использование OS Windows. Лично я бы записал в реестр, в ветку моего приложения сгенерированный при первом запуске GUID. Таким образом вы гарантируете и уникальность и конфиденциальность.

Ответ 2



Я бы использовал идентификатор материнской платы. Получить его можно с помощью WMI Пример есть на enSO. Как написано в одном из предыдущих ответов, я бы его ещё и захешировал, чтобы усилить анонимность. Не рекомендую использовать сетевые интерфейсы, т.к. в них могут скрываться интерфейс виртуальных машин, которые имеют свойство менять MAC адреса. Поэтому надо либо как-т отличить "железный" интерфейс, от виртуального. Либо делать нечёткое сравнение по всем интерфейсам сразу. Но, на мой взгляд, овчинка выделки не стоит - есть более стабильные идентификаторы.

Ответ 3



MAC адрес сетевой карты (минимальный из всех, если в компе несколько интерфейсов).

Ответ 4



не получать имя учетки человека личную информацию можно хэшировать разными путями.

Ответ 5



Я использовал несколько схем: Серийный номер HDD - использовал в программах, где нужна привязка к текущей машине без учета пользователей. Серийный номер HDD + User Name + Komputer Name - для привязки к пользователю, железе. Привязка по серийнику флешки + файл лицензии на ней. С данных бралась хеш-сумма. Или шифровались неким образом.

Ответ 6



Серийник системного раздела через GetVolumeInformation()

Комментариев нет:

Отправить комментарий