문제

C# (해시를 사용한 다음 시스템을 고유하게 식별)을 사용하여 어떤 종류의 '고유 한'시스템 식별자를 쉽게 얻을 수 있습니까? HDD 크기를 해시 할 수는 있지만 동일한 구성 요소로 구축 된 컴퓨터를 식별하고 구별해야하므로 갈 수 없습니다.

힌트, 아이디어, 샘플 코드에 감사드립니다!

도움이 되었습니까?

해결책

여기에 좋은 시작이 있습니다 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
}

많은 하드웨어로 그렇게하고 솔루션을 만들 수 있습니다.

다른 팁

당신은 사용할 수 있습니다 시스템 관리 하드웨어, 프로세스 오리드, MAC 주소 및 더 많은 정보와 관련된 모든 내용을 얻으려면 네임 스페이스를 통해 해시 할 수 있습니다.

이 기사를 살펴보십시오.

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

Windows에 대해 이야기하고 있다고 가정하면 각 Windows 설치에는 고유 한 제품 ID가 있습니다 (내 컴퓨터의 속성을 볼 때 볼 수 있음). 나는 이것이 저장된 것 같아요 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion:ProductId(REG_SZ). 나는 당신이 그보다 더 많은 것을 원하십니까?

당신이 사용할 수있는 WMI 하드웨어에 대한 많은 정보를 얻기 위해 C#을 사용합니다.

하드 디스크 ID 및 이더넷 MAC 주소는 시스템 식별 체계에 사용되는 두 가지 일반적인 고유 식별자입니다. Mac 주소는 이론적으로 네트워크 카드 별 고유합니다.

네트워크 카드 MAC 주소 :

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

당신은 사용을 살펴볼 수 있습니다 GUID 's

지도는 무엇입니까?

모르는 분들에게는 안내 (Goo'id- 전 세계적으로 고유 한 식별자)는 무언가를 독특하게 식별하는 데 사용할 수있는 128 비트 정수입니다. 사용자 나 제품을 데이터베이스에 저장할 수 있으며 데이터베이스의 각 행을 고유하게 식별하려고합니다. 일반적인 접근법은 자동화 정수를 만드는 것입니다. 또 다른 방법은 제품에 대한 안내를 만드는 것입니다.

C#에서 GUID를 만드는 방법

안내 방법은 시스템 네임 스페이스에서 찾을 수 있습니다. Guid Method.guid.newguid ()는 Guid 클래스의 새 인스턴스를 초기화합니다.

특정 방식으로 안내서 형식을 원하는 사람들에게는 몇 가지 과부하가 있습니다.

다음 라이브 샘플은 생성 된지도를 출력하며 소스 코드도 아래에 있습니다.

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"));
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top