Какой простой способ генерировать GUID для текущей машины в C ++? - PullRequest
1 голос
/ 01 ноября 2011

В настоящее время я разрабатываю шутер от первого лица.

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

Мне нужно сделать это поколение, чтобы эффективно запретить проблемных пользователей.

Я хочу, чтобы оно работало как на Microsoft Visual C ++, так и на g ++.

Ответы [ 4 ]

1 голос
/ 01 ноября 2011

Я бы проголосовал за MAC-адрес, потому что каждый MAC-адрес является уникальным при изготовлении, но затем вы запускаете проблему подделки. Я рекомендую основывать его на нескольких значениях, таких как серийный номер тома, модель / шаг процессора, MAC-адрес и производитель диска в качестве примера. Это зависит от вас, но старайтесь не полагаться только на одно значение, поскольку оно всегда может измениться, но опять же, GUID изменится, если какой-либо из ваших идентифицирующих факторов изменился, поэтому вам нужно будет выбрать какое-то постоянное значение между компьютерами , Что-то вроде ключа продукта или идентификатора продукта может быть лучшим выбором, но я не уверен, что это легко доступно, если вообще.

1 голос
/ 01 ноября 2011

Вы можете прочитать ключ MachineGuid в разделе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography.

Это будет работать в Windows, но вам потребуется альтернативный метод для других ОС.

0 голосов
/ 01 ноября 2011

Также есть TMID в HKEY_CLASSES_ROOT. Только для Windows.

0 голосов
/ 01 ноября 2011

Вы можете использовать MAC-адрес.

Способ сделать это описан здесь .

...