當前位置:首頁 » 安卓系統 » android時間同步

android時間同步

發布時間: 2024-06-20 22:51:46

⑴ 如何用android開發otp

otp從技術來分有三種形式, 時間同步、事件同步、挑戰/應答。
(1) 時間同步
原理是基於 動態令牌和 動態口令驗證伺服器的時間比對,基於 時間同步的 令牌,一般每60秒產生一個新口令,要求伺服器能夠十分精確的保持正確的時鍾,同時對其令牌的晶振頻率有嚴格的要求,這種技術對應的終端是硬體令牌。
(2)事件同步
基於事件同步的令牌,其原理是通過某一特定的事件次序及相同的種子值作為輸入,通過HASH演算法中運算出一致的密碼。
(3)挑戰/應答
常用於的網上業務,在網站/應答上輸入 服務端下發的 挑戰碼, 動態令牌輸入該挑戰碼,通過內置的演算法上生成一個6/8位的隨機數字,口令一次有效,這種技術目前應用最為普遍,包括刮刮卡、簡訊密碼、動態令牌也有挑戰/應答形式。

主流的動態令牌技術是時間同步和挑戰/應答兩種形式。
項目採用:
https://code.google.com/p/androidtoken/ 實現TOTP動態口令登錄
android token 該項目支持HOTP (事件令牌)和TOTP (時間令牌)規范
配置令牌支持:KeyUriFormat和QR碼,以及手動創建;

項目實現:
我這里採用添加方便的qr碼,也就是常見的二維碼來實現用戶通過手機來綁定一個token;
首先,需要有的就是伺服器端和客戶端都共有的一個seed。

private final static String NUM_CHAR = "0123456789";

private static int charLen = NUM_CHAR.length();

/**

* 根據系統時間獲得指定位數的隨機數

* @param randomNumberDigit 隨機數的位數

* @return 獲得的隨機數

*/

public static String getRandomNumber(int randomNumberDigit) {

long seed = System.currentTimeMillis();// 獲得系統時間,作為生成隨機數的種子

StringBuffer sb = new StringBuffer();// 裝載生成的隨機數

Random random = new Random(seed);// 調用種子生成隨機數

for (int i = 0; i < randomNumberDigit; i++) {

sb.append(NUM_CHAR.charAt(random.nextInt(charLen)));

}

return sb.toString();

}

⑵ android系統怎麼同步網路時間

進入設置,點擊時間設置,選擇網路提供的時間。

先設置手機時間同步,打開設置中心(以紅米手機MIUI 8系統為例)。

選擇更多設置(以紅米手機MIUI 8系統為例,其它手機系統位置不同),點擊日期和時間。

選中自動確定日期和時間,自動確定時區,選擇24小時格式,設置完成。

電腦設置時間步驟:XP和WIN系統時間顯示位置相同,電腦任務欄最右側,雙擊時間(以XP系統設置為例)

打開日期和時間屬性面板,點擊Internet 時間選項。

勾選與internet時間伺服器同步,選擇任何一個伺服器都可以。

選擇time.windows.com伺服器,點擊立即更新。電腦時間同步完成。

熱點內容
去哪裡找自己的支付密碼 發布:2024-10-25 14:46:18 瀏覽:417
生產文件夾 發布:2024-10-25 14:46:14 瀏覽:705
windows搭建ftp伺服器埠修改 發布:2024-10-25 14:46:11 瀏覽:322
勞拉與馬ftp 發布:2024-10-25 00:21:16 瀏覽:359
奪寶網站源碼 發布:2024-10-25 00:19:02 瀏覽:454
編程文本編輯器 發布:2024-10-25 00:09:28 瀏覽:972
編程徐帥 發布:2024-10-25 00:03:25 瀏覽:307
手機安卓模擬器如何打開文件 發布:2024-10-25 00:02:55 瀏覽:722
pythonday 發布:2024-10-24 23:55:47 瀏覽:425
g編譯c文件 發布:2024-10-24 23:55:03 瀏覽:294