1)、http請求中,最常用的方法有兩種:get和post;一般post請求適合做提交,而get請求適合做請求資料
2)、資料的加密,大概有三種常用的:aes,des,base64
這裡使用的aes加密,然後再將字串使用base64編碼,其中有增加向量,是為了提高加密破解難度,一段引數加密的方法如下:
/**
* 對post請求資料進行加密
* @param params
* @return
* @throws throwable
*/public static byte encryptparams(hashmapparams) throws throwable
stringbuilder stringbuilder = new stringbuilder();
iterator> iterator = params.entryset().iterator();
while (iterator.hasnext())
}byte buff = stringbuilder.tostring().getbytes("utf-8");
byte iv = new byte[16];
random random = new random();
random.nextbytes(iv);
byte data = aes.encrypt(buff,password,iv);
bytearrayoutputstream baos = new bytearrayoutputstream();
baos.write(iv,0,iv.length);
baos.write(data,0,data.length);
byte out = baos.tobytearray();
try catch (throwable e)
return out;
}
在使用base64的過程中,遇到一些問題,如下:
1)請求的字串被截斷,抓取鏈結之後,得到一段空格的字串。經過分析,其實這裡是換行。。。。。
解決的方法是,在請求的時候,將輸出的字串,做如下處理:
將
android.util.base64.encodetostring(input, base64.default)
換成android.util.base64.encodetostring(input, base64.no_wrap);
2)除了上面的是因為換行之外,其實也真的存在空格的情況,這個時候,可以使用替換,如下:
// 加密:
byte bodybytes = requestmanager.encryptparams(hashmap);
// 使用base64encode做最後的加密
string result = new base64encoder().encode(bodybytes);
string ans_url = headurl + result.replaceall("\n","");
base64encode編碼會在76位之後,將字串截斷。在含有中文字串的情況下,會出現加號被替換成空格的情況。
C SFTP資料傳輸
我們有些客戶公司的資料比較重要,為了安全集團公司內部都使用的是區域網,但是有時候又不得不予外界網際網路做資料互動,所以有些不重要的系統是放在外界網際網路的,這樣以來內部系統和外部系統的資料互動就成為了問題,這樣以來就使用到了sftp伺服器來作為資料傳輸的中介。下面不說了,直接上c 此處使用了第三方動...
資料傳輸方式
資料傳輸方式 1 並行傳輸與序列傳輸 並行傳輸指的是資料以成組的方式,在多條並行通道上同時進行傳輸。常用的就是將構成一 個字元 的幾位二進位製碼,分別在幾個並行通道上進行傳輸。例如,採用8單位 的字 符 可以用8個通道並行傳輸。一次傳送乙個字元,因此收 發雙方不存在字元的同步問題,不需要另加 起 止...
flex wcf 資料傳輸
最近跟哲子做個專案,本來可以用asp.net輕鬆搞定,但是鑑於大家都比較想試用下學習已久的技術,所以便出現了flex與wcf entity這樣得前後臺組合。專案開始之初,著實為兩者之間的互動頭疼一番,在經過大量資料得獲取後,終於解決,以下寫出簡要的注意事項,由於wcf 我還是個徹頭徹尾的門外漢,資料...