編輯:關於Android編程
Android安全加密專題文章索引
以上學習所有內容,對稱加密、非對稱加密、消息摘要、數字簽名等知識都是為了理解數字證書工作原理而作為一個預備知識。數字證書是密碼學裡的終極武器,是人類幾千年歷史總結的智慧的結晶,只有在明白了數字證書工作原理後,才能理解Https 協議的安全通訊機制。最終才能在SSL 開發過程中得心應手。
另外,對稱加密和消息摘要這兩個知識點是可以單獨拿來使用的。
知識點串聯:
數字證書使用到了以上學習的所有知識
通過以上內容的學習,我們要能掌握以下知識點:
1. 常見算法
MD5、SHA、CRC 等
2. 使用場景
例如軟件下載站數據指紋:http://dev.mysql.com/downloads/installer/
3. 使用步驟
//常用算法:MD5、SHA、CRC MessageDigest digest = MessageDigest.getInstance("MD5"); byte[] result = digest.digest(content.getBytes()); //消息摘要的結果一般都是轉換成16 進制字符串形式展示 String hex = Hex.encode(result); //MD5 結果為16 字節(128 個比特位)、轉換為16 進制表示後長度是32 個字符 //SHA 結果為20 字節(160 個比特位)、轉換為16 進制表示後長度是40 個字符 System.out.println(hex);
消息摘要後的結果是固定長度,無論你的數據有多大,哪怕是只有一個字節或者是一個G 的文件,摘要後的結果都是固定長度。
經常聽到有人問這樣的問題,MD5 摘要後結果到底是多少位?有的人說是16 位,有的說是128 位,有的說是32 位。到底是多長,這個時候我們就要明白,16 位指的是字節位數,128 位指的是比特位,32 位指的結果轉換成16 進制展示的字符位數。
4. 數字摘要原理
//獲取實例 MessageDigest digest = MessageDigest.getInstance("MD5"); digest.update(key.getBytes()); byte[] bytes = digest.digest(key.getBytes()); StringBuilder sb = new StringBuilder(); for (int i = 0; i < bytes.length; i++) { String hex = Integer.toHexString(bytes[i]&0xff); if (hex.length() == 1){ sb.append("0"); } sb.append(hex); } String hexstring = sb.toString();
在官方support.v4包裡,提供給我們一個兼容類ViewCompat。ViewCompat裡面針對幾個版本有不同的實現,根據不同版本進行判斷, 但是要注意的是,Vie
如何讓qq和微信同步?QQ和微信都是騰訊公司的產品,那麼如果可以做到微信與QQ同步的話,那麼我們平時只要登錄一個就不會錯過兩個軟件的信息了。微信和QQ也是可
今天給大家介紹下Android中滑屏功能的一個基本實現過程以及原理初探,最後給大家重點講解View視圖中scrollTo 與scrollBy這兩個函數的區別 。 
一、先給大家展示下最終效果 通過以上可以看到,圖一是簡單的使用,圖二、圖三中為結合ViewPager共同使用,而且都可以隨ViewPager的滑動漸變色,不同點是圖二為