标签:
1、必须找一个在Android和JDK上通用的加密算法,后面发现了http://www.cnblogs.com/hjtdlx/p/3926141.html这篇文章,试了一下,是可以用的。
2、Android和Server端的传输采用JSON格式,除了加密还要校验是否被修改。传输格式:
{params:xxx,sign:xxx}
加密的相关代码
/**
* 加密处理
* @param data json数据
* @return
* @throws Exception
*/
private String encodeSign(String data) throws Exception{
JSONObject jsonObject = new JSONObject();
jsonObject.put("params", Des3.encode(data));
jsonObject.put("sign",MD5Util.encryptPassword(data));
return data = jsonObject.toJSONString();
}
private JSONObject decodeSign(JSONObject result){
try {
String params = Des3.decode(result.getString("params"));
String sign = result.getString("sign");
if(sign.equals(MD5Util.encryptPassword(params))){
result = JSONObject.parseObject(params);
}else{
throw new RuntimeException("validate sign fail");
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
标签:
原文地址:http://my.oschina.net/lfy2008/blog/502323