Генерация уникального идентификатора машины

101
задан bluish 1 March 2012 в 12:55
поделиться

10 ответов

Проанализируйте SMBIOS сами и хешируйте его к произвольной длине. Посмотрите спецификация PDF для всех доступных структур SMBIOS.

Для запросов информации SMBIOS из Windows Вы могли использовать EnumSystemFirmwareEntries , EnumSystemFirmwareTables и GetSystemFirmwareTable .

IIRC, "уникальный идентификатор" из инструкции CPUID удерживается от использования от P3 и более новый.

25
ответ дан Jabberwocky 24 November 2019 в 04:44
поделиться

Ищите CPUID для одной опции. Могли бы быть некоторые проблемы с системами мульти-ЦП.

-1
ответ дан bluish 24 November 2019 в 04:44
поделиться

Можно ли вытянуть некоторый порядковый номер производителя или метку?

Наш магазин является магазином Dell, таким образом, мы используем метку, которая уникальна для каждой машины для идентификации их. Я знаю, что это может быть запрошено от BIOS, по крайней мере, в Linux, но я не знаю бесцеремонно, как сделать это в Windows.

0
ответ дан Christopher Cashell 24 November 2019 в 04:44
поделиться

Возможно, обман немного, но MAC-адрес адаптера Ethernet машин редко изменяется без материнской платы, изменяющейся в эти дни.

0
ответ дан bfabry 24 November 2019 в 04:44
поделиться

Почему бы не использовать MAC-адрес Вашей сетевой платы?

0
ответ дан Brian Matthews 24 November 2019 в 04:44
поделиться

Необходимо изучить использование MAC-адреса на сетевой плате (если это существует). Те обычно уникальны, но могут быть изготовлены. Я использовал программное обеспечение, которое генерирует его файл лицензии на основе Вашего MAC-адреса сетевого адаптера, таким образом, это рассмотрело довольно надежный способ различать компьютеры.

1
ответ дан Kyle Cronin 24 November 2019 в 04:44
поделиться

Что относительно того, чтобы просто использовать UniqueID процессора?

3
ответ дан bluish 24 November 2019 в 04:44
поделиться

Я очень не хочу быть парнем, который говорит, "Вы просто делаете его неправильно" (я всегда ненавижу того парня;), но...

это должно быть повторяемо сгенерировано для уникальной машины? Вы могли просто присвоить идентификатор или сделать общественность/закрытый ключ? Возможно, если Вы могли бы генерировать и сохранить значение, Вы могли бы получить доступ к нему от обеих установок ОС на том же диске?

Вы, вероятно, исследовали эти опции, и они не работают на Вас, но в противном случае это - что-то для рассмотрения.

, Если это не вопрос пользовательского доверия, Вы могли бы просто использовать MAC-адреса.

2
ответ дан Jonathan Adelson 24 November 2019 в 04:44
поделиться

В моей программе я сначала проверяю на Терминальный сервер и использую WTSClientHardwareId. Еще MAC-адрес локального ПК должен соответствовать.

, Если Вы действительно хотите использовать список свойств, Вы обеспечили, не учитывают вещи как Name и DriverVersion, Clockspeed, и т.д. так как это возможно зависимо от операционной системы. Попытайтесь произвести ту же информацию об обеих операционных системах и не учтите это, которое отличается между.

1
ответ дан bluish 24 November 2019 в 04:44
поделиться

У меня была та же проблема, и после небольшого исследования я решил, что лучше всего прочитать MachineGuid в разделе реестра HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Cryptography , как предложил @Agnus. Он генерируется во время установки ОС и не изменится, если вы не сделаете другую свежую установку ОС. В зависимости от версии ОС он может содержать встроенный MAC-адрес сетевого адаптера (плюс некоторые другие числа, в том числе случайный) или псевдослучайное число, позднее для более новых версий ОС (я полагаю, что после XP SP2, но не уверен). Если это теоретически псевдослучайный, его можно подделать - если две машины имеют одинаковое начальное состояние, включая часы реального времени. На практике это будет редко, но имейте в виду, если вы ожидаете, что это будет основой для безопасности, которая может быть атакована хардкорными хакерами.

72
ответ дан 24 November 2019 в 04:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: