2010-08-06 2 views
2

저는 C# 및 .NET 2.0을 사용하고 있습니다. 내 애플 그래서 하드웨어 ID를 사용합니다 다른 사용자를 확인하는 몇 가지 방법이 필요합니다,하지만 난에만 사용할 수 보았다하드웨어 ID 도움말

  • MAC 주소를 - 쉽게 변경하고 모든 사람이 더
  • 프로세서 // 없었다 ID - WMI를 사용하여 CPU 모델에 대한 값을 반환합니다. // 고유하지 않습니다. // NO
  • 마더 보드 직렬 - 아니요, 모든 마더 보드가 없습니다 // 아니오
  • Windows 볼륨 직렬 - 확실하지 않습니다. Windows의 재설치 및 볼륨 형식 변경

그래서 내가 hwid에 대해 언급하지 않은 것이 있습니까? 나는 모두가 가지고있는 것을 원하고 Windows 재설치시 지워지지 않을 것입니다. 그렇지 않으면 윈도우의 볼륨 일련 번호를 사용해야합니다.


EDIT : HDD ID를 사용하는 것이 가장 좋습니다. 그것을 얻는 방법? EDIT2 : SCSI 드라이브에 직렬 포트가 없다는 것을 읽었습니다. 그게 사실이야?

최종 편집 : 이미 내 앱에서 루트 드라이브 시리얼을 사용하고 있습니다. 그것은 꽤 잘 작동합니다. 모두에게 감사드립니다.

답변

2

HDD 일련 번호 : 고유하고 변경 불가능하며 모든 사람이 가지고 있습니다.

완벽한 옵션이 아니지만 ...

+0

논리 드라이브 (볼륨) 직렬이 아닌 HDD 직렬을 의미합니까? 그렇다면 그것을 얻는 방법? – blez

+0

글쎄, 만약 하나가 하드 디스크를 변경하면, 그 하나 느슨한 ... –

+0

하지만 그것을 얻는 방법? – blez

1

글쎄, 나는 하나 이상의 이드로 가고 싶다. 충분한 ID를 결합하면 고유성이 충분 해집니다.

편집 : 당신은 또한 하드 디스크에 장소에 갈 수있는 프로그램이 너무 설치 (플래터, 실린더 등)

+0

그리고 사용자가 구성 요소 중 하나만 변경하면 라이센스를 갱신해야합니다. – blez

+0

글쎄요. 충분한 ID가 있으면 여전히 사용자를 식별 할 수 있습니다. –

+0

네,하지만 아이디어는 사용자 정보 사본을 보호하는 것입니다. 사용자/시리얼 누설을 방지하려면 – blez

0

왜 하드웨어 ID를 사용 하시겠습니까? 폼 기반 (또는 AD 기반) 보안의 일종으로 갈 것입니다.

그러나 주어진 : HWID에 대한 것은 특정 컴퓨터 구성을 식별한다는 것입니다 : 시스템 변경 사항이있을 경우 변경하도록 설계되었습니다. Windows Volume Serial은 재설치 및 포맷시 변경 될 수 있지만 그 시점에서 소프트웨어를 다시 설치해야하지는 않습니까? HDD Serial은 사용자가 어떤 이유로 HDD를 교체하는 경우에도 변경 될 수 있습니다.

HWID를 사용해야하는 경우 고유성을 제공하기 위해 사용 가능한 옵션 중 하나 이상을 선택하고 재설치가 필요한 하드웨어 변경 및/또는 소프트웨어를 재구성하십시오.

+0

"폼 기반 (또는 AD 기반)"보안이란 무엇입니까? – blez

+1

"폼 기반"은 응용 프로그램을 사용하기 위해 (양식을 통해) 로그온해야하는 아이디어 (일반적으로 웹 응용 프로그램에서 사용되지만 Windows 응용 프로그램에서도 구현할 수 있음)를 나타냅니다. AD는 활성 디렉토리를 나타냅니다. 즉, 사용자의 권한을 검색하기 위해 회사의 Active Directory 서버에 연결합니다. AD는 Active Directory (또는 유사한 항목)를 설치해야하며 양식 보안에는 일종의 데이터 저장소가 필요합니다 (사용중인 컴퓨터에 로컬 인 경우에도 해당). – AllenG

+1

하드웨어 ID를 선호합니다. – blez

0

보안 또는 신뢰성만을 고려해야합니까? 즉 사용자가 신원 확인을 변경하려고합니까? 보안이 필요한 경우 "소프트웨어 보호"제품 중 하나를 구입하십시오.이 방법은 직접하는 것보다 훨씬 저렴합니다.

높은 보안이 필요하지 않습니까? => 또 다른 가능성은 사용자 또는 컴퓨터 SID를 사용하는 것입니다. 당신은 귀하의 응용 프로그램이 실행 elvated => 사용자가 관리자 다음 계정에 걸릴해야합니다.

마지막으로 중요 : HKEY_CURRENT_USER 아래에서 레지스트리에 임의의 값을 무작위로 작성하고 (가능하면 여러 위치에서) 이들을 ID로 사용하십시오.