FLogin.java 2.2 KB
package login;

import java.util.HashMap;
import java.util.Map;

import com.agent.entity.system.UserEntity;
import com.framework.util.AesCBC;

import tools.HttpTools;

public class FLogin {

	public static void main(String[] args) {
		UserEntity user = new UserEntity();
		user.setLoginaccount("wangshan");
		user.setPassword("123456");
		LoginData ret = login(user);
		System.err.println("ret-->" + ret.toJson());
	}

	public static LoginData login(UserEntity user) {
		LoginData logindata = new LoginData();

		InfoData info = new InfoData();
//		String param = "ssid=5672813&data=";
		InterfaceData params = new InterfaceData();
		params.setKey("owenkasduf");
		// id.setUsername("wangshan");
		// id.setPwd("123456");
		params.setUsername(user.getLoginaccount());
		params.setPwd(user.getPassword());
		params.setType("2");

		// 构造请求数据包(并且加密data数据)
//		String data = Security.encrypt(JSONObject.toJSONString(id), Security.getKey());
//		param = param + data;

		String source = params.toJson();
		System.err.println("source-->" + source);

		String key = AesCBC.getKey();
		System.err.println("key-->" + key);

		String data = AesCBC.getInstance().encrypt(source, "utf-8", key, AesCBC.ivParameter);

		System.err.println("参数密文:" + data);

		Map<String, String> map = new HashMap<String, String>();
		map.put("ssid", "5672813");
		map.put("data", data);
		String receive = HttpTools.sendPost("http://www.zzcargo.com/index.php?r=api/index", map, "UTF-8");
//		String receive = HttpTools.sendPost("http://zzcargo.com:8080/index.php?r=api/index", map, "UTF-8");
		try {
			// 转换接收到的数据
			FJSON.JsonToObject(logindata, receive);
			// 验证通过
			if (logindata.getCode() == 20000) {
				// 对传回的数据解密
//				String raw = Security.decrypt(logindata.getInfo(), Security.getKey());
				String raw = AesCBC.getInstance().decrypt(logindata.getInfo(), "utf-8", key, AesCBC.ivParameter);
				logindata.setInfo(raw);
				// 将解密后的数据转回json
				FJSON.JsonToObject(info, logindata.getInfo());
				logindata.setInfodata(info);
			}
		} catch (Exception e) {
			// 数据返回异常
			logindata.setCode(0);

		}
		return logindata;
	}
}