2012-10-24 3 views
2

possible en double:
Reliable way of generating unique hardware IDObtenir un identifiant matériel unique en C++ sous Windows

Je voudrais récupérer un identifiant matériel unique pour une seule machine en C++. Aucune suggestion? J'ai besoin de ce logiciel fonctionnant sous Windows XP, Vista, 7, 8. J'ai juste besoin de quelques appels système pour récupérer l'adresse MAC, le numéro de série du disque dur, ou quelque chose comme ça.

+1

Pourquoi allez-vous l'utiliser? Cela changera les valeurs que vous pouvez utiliser. Une adresse MAC sera unique en utilisation normale, mais elle peut facilement être changée en quelque chose qui n'est pas unique si l'utilisateur le souhaite. –

+0

Voici une version simplifiée de l'article CodeProject, qui utilise C# et WMI pour compiler fondamentalement le HUID en utilisant les spécifications matérielles de la machine. Il devrait être assez facile de le traduire en C: http://www.codeproject.com/Articles/28678/Generating-Unique-Key-Finger-Print-for-a-Computer?msg=4156672#xx4156672xx – ahmd0

Répondre

2

Chiffrez n'importe quelle valeur à l'aide de la clé DPAPI de l'appareil et utilisez la valeur cryptée comme ID.

Note: J'ai copié mon original answer à la question que celui-ci duplique.

+0

DPAPI utilisera Méthode de chiffrement PBKDF2 qui utilise un "salt" aléatoire, qui produira un texte chiffré résultant avec des valeurs aléatoires chaque fois que vous le générez. Donc, sauf si vous spécifiez comment faire PBKDF2 ne pas utiliser aléatoire "sel" (Je devine, via l'API CryptProtectData), je ne vois pas comment votre suggestion pourrait fonctionner? Plus d'informations: https://msdn.microsoft.com/en-us/library/ms995355.aspx – ahmd0

0

Here est un excellent article sur la façon d'obtenir votre adresse mac en utilisant C++. Vous pouvez utiliser l'une de ces trois méthodes pour obtenir votre adresse MAC, après quoi vous pouvez utiliser une sorte de cryptage (eh sha256) sur ces adresses MAC - bien sûr, seulement si vous voulez que ces adresses MAC soient cachées pendant que vous Rangez-les.

Questions connexes