Pergunta

que tipo de "único" sistema de identificadores podem ser facilmente obtido usando C# (hash e, em seguida, identificar exclusivamente um sistema)?Eu poderia apenas de hash de tamanho HDD e coisas assim, mas eu preciso para identificar e distinguir os computadores que são todos construídos pelo mesmo veículo, de modo que eu não posso ir por que.

Apreciar sugestões, ideias, exemplos de código!

Foi útil?

Solução

Aqui está um bom começo com WMI ...

// Win32_CPU will work too
var search = new ManagementObjectSearcher( "SELECT * FROM Win32_baseboard" );
var mobos = search.Get();

foreach (var m in mobos)
{
  var serial = m["SerialNumber"]; // ProcessorID if you use Win32_CPU
}

Você pode fazer isso com muitas peças de hardware e criar uma solução.

Outras dicas

Você pode usar o Administração de sistema Namespace para obter todas as coisas relacionadas ao hardware, processador, endereços MAC e muito mais informações que você pode fazer juntos.

Dê uma olhada neste artigo:

http://www.codeproject.com/kb/system/gethardwareinformation.aspx

Presumindo que você esteja falando sobre o Windows, cada instalação do Windows possui um ID de produto exclusivo (que você pode ver quando visualiza as propriedades do meu computador). Eu acho que isso é armazenado em HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion:ProductId(REG_SZ). Suponho que você quer mais do que isso?

Você pode usar WMI com o C# para obter um pouco de informação sobre hardware.

Disco rígido id e o Endereço Ethernet MAC são comuns dois identificadores únicos utilizados no sistema de identificação de esquemas.O Endereço MAC é, em teoria, a única por placa de rede.

Endereço Mac do cartão de rede:

foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
{
    // probably need to do some filtering on ni.NetworkInterfaceType here
    Console.WriteLine(ni.GetPhysicalAddress());
}

Você pode procurar usar Guid's

O que é um guia

Para aqueles que não sabem, um Identificador GUID (pronunciado Goo'id - globalmente exclusivo) é um número inteiro de 128 bits que pode ser usado para identificar algo exclusivamente. Você pode armazenar usuários ou produtos no seu banco de dados e, de alguma forma, identificar de maneira exclusiva cada linha no banco de dados. Uma abordagem comum é criar um número inteiro de autoinguração, outra maneira seria criar um GUID para seus produtos.

Como criar um GUID em C#

O método GUID pode ser encontrado no espaço de nome do sistema. O Guid Method System.guid.newguid () inicializa uma nova instância da classe GUID.

Existem também algumas sobrecargas disponíveis para aqueles que desejam o GUID formatado de uma maneira específica.

A amostra ao vivo a seguir produzirá a orientação gerada, o código -fonte também está abaixo.

Response.Write(@"<br>System.Guid.NewGuid().ToString() = " + System.Guid.NewGuid().ToString());
Response.Write(@"<br>System.Guid.NewGuid().ToString(""N"") = " + System.Guid.NewGuid().ToString("N"));
Response.Write(@"<br>System.Guid.NewGuid().ToString(""D"") = " + System.Guid.NewGuid().ToString("D"));
Response.Write(@"<br>System.Guid.NewGuid().ToString(""B"") = " + System.Guid.NewGuid().ToString("B"));
Response.Write(@"<br>System.Guid.NewGuid().ToString(""P"") = " + System.Guid.NewGuid().ToString("P"));
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top