关于汇潮托管中文验证错误问题
2016-04-26 16:11
756 查看
<span style="font-family: Arial, Helvetica, sans-serif;"> /***</span>
* 开通托管,用户开户 * @throws Exception */ public String Account() throws Exception { request = ServletActionContext.getRequest(); response = ServletActionContext.getResponse(); response.setContentType("text/json;charset=UTF-8"); MySessionContext myc= MySessionContext.getInstance(); String basePath=""; String path=request.getContextPath(); if (request.getServerPort() == 80) { basePath = request.getScheme() + "://" + request.getServerName() + path + ""; } else { basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + ""; } Map map = new HashMap(); try{ HttpSession sess = myc.getSession(request.getParameter("sessionId")); Uservip uservip = (Uservip) sess.getAttribute(request.getParameter("uservip")); if(uservip==null){ map.put("state", "0"); map.put("message", "未登录,请重新登录!"); net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject .fromObject(map); try { response.getWriter().print(jsonObject.toString()); request.setAttribute("mess", map.get("message")); return "funm"; } catch (IOException e1) { e1.printStackTrace(); System.out.println("发送josn失败!"); } } Basicinfor basicinfor = basicinforService.findBasicinforByUserId(uservip.getUserId().intValue()); if(basicinfor.getIdNum()==null||basicinfor.getIdNum().equals("")){ map.put("state", "0"); map.put("message", "未进行实名认证,请先认证!"); net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject .fromObject(map); try { response.getWriter().print(jsonObject.toString()); request.setAttribute("mess", map.get("message")); return "funm"; } catch (IOException e1) { e1.printStackTrace(); System.out.println("发送josn失败!"); } } if(uservip.getPhoneResult()==null||!uservip.getPhoneResult().equals("1")){ map.put("state", "0"); map.put("message", "未进行手机认证,请先认证!"); net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject .fromObject(map); try { response.getWriter().print(jsonObject.toString()); request.setAttribute("mess", map.get("message")); return "funm"; } catch (IOException e1) { e1.printStackTrace(); System.out.println("发送josn失败!"); } } if(uservip.getStatusMD()==null||uservip.getStatusMD()!=1){ }else{ map.put("state", "0"); map.put("message", "托管已开通,无需重复开通!"); net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject .fromObject(map); try { response.getWriter().print(jsonObject.toString()); request.setAttribute("mess", map.get("message")); return "funm"; } catch (IOException e1) { e1.printStackTrace(); System.out.println("发送josn失败!"); } } WebsiteService websiteService=new WebsiteServiceImpl(); Website website=websiteService.findWebsiteBywebsiteId(1); String number_id=website.getNumberId(); String mode="personal"; //类型为:个人,企业personal/company String account_name=basicinfor.getPhoneNum(); String real_name=basicinfor.getRealName(); String card_no=basicinfor.getIdNum(); String nick_name=uservip.getUserId()+"app"+basicinfor.getPhoneNum(); String advice_url=basePath+"/appjson/Accounty"; String return_url=basePath+"/appjson/Accountt"; String remark="[汇潮托管]"; String sa="number_id="+number_id+ "&mode="+mode+ "&account_name="+account_name+ "&real_name="+real_name+ "&card_no="+card_no+ "&nick_name="+nick_name+ "&advice_url="+advice_url+ "&return_url="+return_url+ "&remark="+remark+ "&merchantKey="+website.getMerchantKey(); System.out.println("*****************************"+sa); String sign_info=MD5HC.md5(sa).toLowerCase(); request.setAttribute("url",(website.getIsTest()==0?"http://test.yemadai.com/openAccount":"https://gateway.yemadai.com/openAccount")); request.setAttribute("number_id", number_id); request.setAttribute("mode", mode); request.setAttribute("account_name", account_name); request.setAttribute("real_name", URLEncoder.encode(real_name,"utf-8")); request.setAttribute("card_no", card_no); request.setAttribute("nick_name", URLEncoder.encode(nick_name,"utf-8")); request.setAttribute("advice_url", advice_url); request.setAttribute("return_url", return_url); request.setAttribute("remark", remark); request.setAttribute("sign_info", sign_info); return "success"; }catch(Exception e){ e.printStackTrace(); map.put("state", "0"); map.put("message", "[手动滑稽]失败,请联系开发者!"); net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject .fromObject(map); try { response.getWriter().print(jsonObject.toString()); request.setAttribute("mess", map.get("message")); return "funm"; } catch (IOException e1) { e1.printStackTrace(); System.out.println("发送josn失败!"); } } return "funm"; }
package com.jqg.util; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5HC { public static String md5(String password) throws NoSuchAlgorithmException { MessageDigest md = MessageDigest.getInstance("MD5"); try { md.update(password.getBytes("utf-8")); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } byte[] b = md.digest(); StringBuffer buf = new StringBuffer(""); for (int offset = 0; offset < b.length; offset++) { int i = b[offset]; if (i < 0) i += 256; if (i < 16) buf.append("0"); buf.append(Integer.toHexString(i)); } String pwd = buf.toString(); return pwd; } }
ps:1. md.update(password.getBytes("utf-8"));一定不能忘记utf-8转码
2.<span style="font-family: Arial, Helvetica, sans-serif;">URLEncoder.encode(nick_name,"utf-8") 中文传递使用url编码</span>
<span style="font-family: Arial, Helvetica, sans-serif;"> 3.使用form表单post请求</span>
相关文章推荐
- shell基础语法
- Yandex.Algorithm 2011 Round 2 D. Powerful array(莫队算法)
- 0429团队项目-对师姐的软件的一些改进
- 发布项目,加入CRUD功能
- 同级css渲染顺序问题
- 拖拽文件上传系统
- [问题] UISearchBar 点击取消后跳动的问题[转载]
- SDUSTOJ 1795 哆啦A梦的程序(思路题)
- CodeForces 558D
- 运行时异常与一般异常有何异同
- Studio打包签名
- 设置UIButton的Title在左,Image在右
- iOS集成极光推送
- c++对内存的浅谈以及内存泄漏问题的探讨之九
- php正则提取html图片(img)src地址与任意属性
- quartz定时任务时间设置
- 不影响数据库运行如何快速恢复刚删除的表及其数据(一)flashback是什么
- quartz定时任务时间设置
- range小数
- for range