posts - 2,  comments - 0,  trackbacks - 0
            2010年11月23日
              KEY采用的是求一個字符串的SHA1值(160bit)賦給一個int型數組int KEY[5]作為OTP生成方法的的參數輸入。輸入的字符串不可以超過16,通過判斷字符串長度提醒用戶輸入的KEY是否合法。將輸入的字符串通過Tochar方法法轉換成一個16元素的char型數組,然后再轉換成一個整形數組,對于長度小于16的空余元素則補零。調用SHA1類中的dofinal方法產生160bit數據作為一個5元素的int型數組作為OTP參數。
          posted @ 2010-11-23 12:28 趙朋川 閱讀(295) | 評論 (0)編輯 收藏
              OTP的counter為一個long型64位數據,每次產生一個新OTP后,counter值做自加一處理。此程序的counter采用android中輕量級存儲sharedpreference進行保存。首先建立存儲文件夾,在文件夾下建立名為COUNTER的存儲變量,在調用OTP產生程序時,首先將COUNER的值從文件夾中讀出,為一個String類型,利用命令Long.parseLong()方法將其轉換為long型整數作為OTP程序的參數參與運算,然后COUNTER自加,轉換成String類型后保存到輕量級存儲文件夾中的COUNTER內,為下次調用準備。
              在重置counter的程序中,將TextView中的值利用gettext()命令讀出,利用toString命令轉換成String類型后存儲在COUNTER中。對于輸入的整數值不能超過Long型整數的范圍,在存儲之前需要對輸入的整數進行相關判斷:將輸入的整數前面補零和2的64次方減一(18446744073709551615)進行字符串比較,如果輸入的整數大或者字符串長度超過20則提醒用戶輸入錯誤,重新輸入。
          posted @ 2010-11-23 12:17 趙朋川 閱讀(156) | 評論 (0)編輯 收藏
          僅列出標題  
          <2025年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 鄂托克旗| 绵竹市| 英山县| 乐东| 阿尔山市| 从江县| 焦作市| 桃园市| 聂拉木县| 隆安县| 江孜县| 潮州市| 富蕴县| 奎屯市| 台北市| 锡林郭勒盟| 田东县| 耿马| 平定县| 高安市| 都昌县| 肇源县| 乳源| 高淳县| 宜川县| 南城县| 江西省| 响水县| 霍林郭勒市| 永靖县| 金沙县| 扬州市| 麻栗坡县| 上杭县| 太谷县| 龙岩市| 安岳县| 广东省| 舟曲县| 三江| 双辽市|