Android唯一識別號(裝置指紋)的生成

2021-07-06 10:13:58 字數 1823 閱讀 8873

目的:

盡可能實現,同一裝置在不刷機不恢復出廠的情況下,每次生成的裝置指紋不變;並且盡可能保證兩部不同的裝置生成的裝置指紋不能一樣)

原理:1.將imei號+手機硬體資訊+androidid拼接成乙個字串(由於個別手機某些時候獲取的wifi mac和藍芽mac不一致,故捨去這兩項);

2.再用md5把以上資訊處理成32位的字串;

**實現如下:

/**

* 獲取裝置指紋的工具類

* * @author barryhuang

* @date 2015-8-19

*/public class fingerprintutil else

return fingerprint;

}/**

* 從sharedpreferences 檔案獲取裝置指紋

** @return fingerprint 裝置指紋

*/private static string readfingerprintfromfile(context context)

/*** 生成乙個裝置指紋(耗時50毫秒以內):

* 1.imei + 裝置硬體資訊(主要)+ android_id + wifi mac組合成的字串

* 2.用messagedigest將以上字串處理成32位的16進製制字串

** @param context

* @return 裝置指紋

*/public static string createfingerprint(context context) else

log.i(tag,"m_szbtmac="+bt_mac);*/

// combined device id

final string deviceid = imei + hardwareinfo + androidid/* + wifimac + bt_mac*/;

log.i(tag, "deviceid=" + deviceid);

// 建立乙個 messagedigest 例項

messagedigest msgdigest = null;

try catch (nosuchalgorithmexception e)

//用 messagedigest 將 deviceid 處理成32位的16進製制字串

msgdigest.update(deviceid.getbytes(), 0, deviceid.length());

// get md5 bytes

byte md5arraydata = msgdigest.digest();

// create a hex string

string deviceuniqueid = new string();

for (int i = 0; i < md5arraydata.length; i++) // hex string to uppercase

deviceuniqueid = deviceuniqueid.touppercase();

log.d(tag, "生成的裝置指紋:" + deviceuniqueid);

log.e(tag, "生成deviceid 耗時:" + (system.currenttimemillis() - starttime));

preferencemanager.getdefaultsharedpreferences(context).edit().putstring(finger_print, deviceuniqueid).commit();

return deviceuniqueid;

}

一鍵修改安卓唯一識別號androidid的簡單教程

我們知道手機中有好幾個串號,imei,imsi還有個androidid,這個是廠家出廠的時候手機硬體上唯一的標識。應用程式可以獲取我們這些引數來判斷我們手機的唯一性,由此我們可以通過修改androidid或者imei等引數,讓手機變成乙個新的裝置。我們這裡使用強大的琢石模擬器來幫我們虛擬androi...

android 裝置唯一標識 Android ID

android id是裝置第一次啟動時產生和儲存的64bit的乙個數,當裝置被wipe 刷機,恢復出廠設定 後該數重置。string secureid settings.secure.getstring getcontentresolver settings.secure.android id 這裡...

Android手機唯一識別IMSI

碼,但是當刷機 系統還原出廠設定 這2種情況下,手機的imei都會改變,所以有時候回出現以前繫結的imei在服務 資料庫對應的使用者移動裝置,當使用者刷機 還原出廠設定 此時使用者手機上的imei就改變了,當使用者登入時,提交的 imei與伺服器資料庫的imei就不一樣了,然而得出來得結論 只有當使...