2013-08-03 51 views
6

Tôi đang viết một máy chủ trò chơi bằng Java và tôi cần một cách để nhận mã định danh duy nhất cho máy tính (bảo vệ Multiaccount), nền tảng đích là Windows> = XP. Tôi đã thử nghiệm nhiều cách để làm điều đó với tinh khiết Java và JNI:Làm thế nào để có được một định danh duy nhất của máy tính?

  • địa chỉ MAC - Rất dễ dàng để thay đổi, cao va chạm cơ hội
  • (JNI) Bo mạch SN - Nó không phải là luôn luôn, va chạm cao cơ hội
  • (JNI) Diskdrive SN - Không thể phát hiện ổ đĩa bằng thư đĩa với WMI, ít va chạm cơ hội, không hoạt động trên Windows XP (trường Không có SerialNumber)
  • Tệp trong thư mục ẩn - Không lưu sau Windows cài đặt lại, có thể sửa đổi hoặc xóa nếu tôi biết nó ở đâu.
  • (JNI) Windows GUID - cơ hội va chạm cao, không lưu sau khi cài đặt lại Windows.

Bất kỳ cách nào khác?

+0

Nếu bạn đang viết bằng Java, tại sao có các thẻ cho C++ & c ?! –

+0

Tôi đang sử dụng JNI :) – sashok724

+2

@IosifM. Anh ta có thể viết mã gốc, bằng c/C++. – tbodt

Trả lời

2

tôi có thể đề nghị bạn sử dụng CPUID Tôi đã sử dụng nó để phần mềm của tôi cấp phép

Cheers :)

+0

ý tưởng rất hay. –

+0

Nhưng CPUID chỉ có thể có hai giá trị: GenuineIntel hoặc AuthenticAMD – sashok724

+0

Nó có nhiều hơn thế - hãy xem [wikipedia] (http://en.wikipedia.org/wiki/CPUID) –

0

Không có thực sự bất kỳ cách nào để có được định danh duy nhất của máy tính. Nhiều lập trình viên áp dụng logic khác nhau và những thứ khác nhau nhưng bất kỳ logic hoặc hệ thống nào không phải là bằng chứng đầy đủ. Vì vậy, bạn phải tạo ra một logic mà không dễ dàng bị phá vỡ bởi các lập trình viên khác một cách dễ dàng. Khi bạn đang cố gắng tạo ra trò chơi Server và do đó bạn phải cố gắng logic khác nhau và điều tốt nhất duy nhất tôi đã tìm thấy là:

  • Bạn có thể có địa chỉ IP của người dùng

  • tài MAC Address

  • tài Địa chỉ Email

  • người dùng HDD serial Number

  • U ser Bo mạch chủ Tên và Số

Bạn phải tạo sự kết hợp của bạn cùng với một số băm để trộn như vậy, Key vẫn còn duy nhất cho mỗi máy tính

+0

Xin vui lòng, đọc đầy đủ câu hỏi của tôi! 1) Nhiều người dùng sử dụng NAT hoặc IP động 2) Địa chỉ MAC không an toàn 3) Email có thể thay đổi và có các dịch vụ cung cấp email một lần 4) Có thể thay đổi, không độc quyền toàn cầu 5) Không phải lúc nào cũng có – sashok724

Các vấn đề liên quan