Tôi đang cố gắng tìm một thứ gì đó mà tôi có thể sử dụng làm chuỗi/số duy nhất cho tập lệnh được sửa trong máy và dễ dàng nhận được (đa nền tảng). Tôi đoán một máy sẽ có một card mạng. Tôi không cần nó thực sự độc đáo, nhưng điều cần thiết là nó phải được cố định trong một thời gian dài và càng hiếm càng tốt.Mã định danh cố định cho máy (uuid.getnode)
Tôi biết MAC có thể được thay đổi và có thể tôi sẽ cảnh báo về nó trong tập lệnh của mình, tuy nhiên tôi không mong đợi bất kỳ ai thay đổi MAC mỗi sáng.
Những gì tôi đã đưa ra là uuid.getnode()
, nhưng trong docs có:
Nếu tất cả những nỗ lực để có được những địa chỉ phần cứng thất bại, chúng tôi chọn một số 48-bit ngẫu nhiên
Liệu nó có nghĩa là cho mỗi cuộc gọi chức năng tôi nhận được một số ngẫu nhiên, do đó nó không thể sử dụng nó nếu MAC là không thể đạt được?
... trên máy có nhiều giao diện mạng địa chỉ MAC của bất kỳ một trong số chúng có thể được trả lại.
Câu này có nghĩa là getnode()
có MAC ngẫu nhiên (hoặc đầu tiên) từ tất cả các mục có sẵn không? Điều gì sẽ xảy ra nếu nó nhận được MAC A trong lần chạy đầu tiên và MAC B vào lần tới? Sẽ không có vấn đề gì nếu tôi có danh sách cố định (sắp xếp, nối, tadaaa!)
Tôi hỏi vì tôi không có cách nào tự kiểm tra nó.
tôi không thể có được uuid android với mã này. Tôi đang sử dụng marshmallow Android và trình mô phỏng thiết bị đầu cuối được cài đặt trên đó tôi có thể thấy danh sách đầy đủ của 'getprop' nhưng' ril.serialnumber' không tồn tại. nó có cần quyền root không? – Gahan
@Gahan xem [nhận xét này] (https://stackoverflow.com/questions/27368423/how-can-i-get-a-ril-serial-number-for-motorola-moto-x#comment43189061_27368423) vì sao mà hapenning. Thật không may, nhưng đối với tất cả các phương pháp để có được một định danh thiết bị duy nhất, bạn cũng nên có một "kế hoạch sao lưu" tức là có thể ném một số tập tin/chuỗi vào một hàm băm hoặc một điều tương tự. Nếu bạn đang sử dụng [Kivy] (http://kivy.org/), bạn có thể truy cập trực tiếp Android API bằng [pyjnius] (https://github.com/kivy/pyjnius/) (cần JNI). – KeyWeeUsr
Tôi không sử dụng kivy.Tuy nhiên tôi có python để làm việc với tất cả các mô-đun mặc định nó đi kèm với như uuid, os, sys, subprocess vv bất kỳ mô-đun khác không có sẵn cho việc biên dịch chéo hiện tại tôi đang sử dụng. – Gahan