package com.winit.api.util;

import net.sf.json.JSONObject;

import com.winit.api.model.RequestMsg;

public class SignUtil {

	/**
	 * 按字段名字母顺序排列
	 * 对参数进行MD5加密取得签名
	 * @param requestMsg
	 * @param token
	 * @return
	 */
	public static String getSign(RequestMsg requestMsg,String token) {
		StringBuffer buf = new StringBuffer();
		buf.append(token);
		buf.append("action").append(requestMsg.getAction());
		buf.append("app_key").append(requestMsg.getApp_key());
		buf.append("data").append(requestMsg.getData() == null?"":JSONObject.fromObject(requestMsg.getData()).toString());
		buf.append("format").append(requestMsg.getFormat() == null?"":requestMsg.getFormat());
		buf.append("platform").append(requestMsg.getPlatform() == null?"":requestMsg.getPlatform());
		buf.append("sign_method").append(requestMsg.getSign_method() == null?"":requestMsg.getSign_method());
		buf.append("timestamp").append(requestMsg.getTimestamp() == null?"":requestMsg.getTimestamp());
		buf.append("version").append(requestMsg.getVersion() == null?"":requestMsg.getVersion());
		buf.append(token);
		return MD5Util.getMd5(buf.toString());
	}
	
}
