最近一直在研究如何爬取手機客戶端請求的資料資訊,發現很多手機客戶端在請求服務端資料的時候,對請求的url都做了一些加密處理,所以自己就私下裡研究了一下url的一些加密演算法
下面是乙個比較基本的url加密處理方式:
引數:
logintoken : 8d940b09872346a****0f9844c70d51客戶端加密處理的秘鑰:timestamp : 1447327804725
secret : 8d940b098773464796b****844c70d516447327804725mac演算法結合了md5和sha演算法的優勢,並加入金鑰的支援,是一種更為安全的訊息摘要演算法。
mac(message authentication code,訊息認證碼演算法)是含有金鑰的雜湊函式演算法,相容了md和sha演算法的特性,並在此基礎上加入了金鑰。
mac演算法主要集合了md和sha兩大系列訊息摘要演算法。md系列的演算法有hmacmd2、hmacmd4、hmacmd5三種演算法;sha系列的演算法有hmacsha1、hmacsha224、hmacsha256、hmacsha384.hmacsha512五種演算法。
經過mac演算法得到的摘要值也可以使用十六進製制編碼表示,其摘要值長度與參與實現的摘要值長度相同。例如,hmacsha1演算法得到的摘要長度就是sha1演算法得到的摘要長度,都是160位二進位制,換算成十六進製制編碼為40位。
模型分析
甲乙雙方進行資料交換可以採取如下流程完成
mac用於訊息認證
訊息認證碼
密碼學中,通訊實體雙方使用的一種驗證機制,保證訊息資料完整性的一種工具。
安全性依賴於hash函式,故也稱帶金鑰的hash函式。
訊息認證碼是基於金鑰和訊息摘要【hash】所獲得的乙個值,目的是用於驗證訊息的完整性,確認資料在傳送和儲存過程中未受到主動攻擊
下面是使用hmacsha1進行加密的具體**
/**
* 初始化hmacsha1金鑰
* *@return byte 金鑰
*@throws exception
*/public
static
byte inithmacshakey() throws exception
/** * hmacsha1訊息摘要
* *@param data 待做摘要處理的資料
*@param key 金鑰
*@return byte 訊息摘要
*@throws exception
*/public
static
byte encodehmacsha(byte data, byte key)
throws exception
url加密解密
js對文字進行編碼涉及3個函式 escape,encodeuri,encodeuricomponent,相應3個解碼函式 unescape,decodeuri,decodeuricomponent 1 傳遞引數時需要使用encodeuricomponent,這樣組合的url才不會被 等特殊字元截斷。...
檔案加密解密 URl引數加密解密
sliverlight 加密解密 public static class encryption endregion region silverlight密碼解密 解密資料 加密後的字串 加密前的字串 public static string decrypt string input endregio...
加密解密Url的類
string querystringkey abcdefgh url傳輸引數加密key string passwordkey hgfedcba password加密key region 公共方法 加密url傳輸的字串 public string encryptquerystring string q...