⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 logonandcheckbypayaccountandnodeid.jsp

📁 陕西电信sp客户端
💻 JSP
字号:
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.security.*"%>
<%@ page import="java.net.URLEncoder"%>

<%!
	public static String byte2HEX(byte b) {
		return (""+"0123456789ABCDEF".charAt(0xf&b>>4)+"0123456789ABCDEF".charAt(b&0xF));
	}

	public static byte stringHEX2bytes(String str) {
		return (byte) ("0123456789ABCDEF".indexOf(str.substring(0,1))*16 + "0123456789ABCDEF".indexOf(str.substring(1)));
	}
	public static String md5bytes2string(byte[] bytes){
		String result = "";
		for(int i=0; i<bytes.length; i++){
			result += byte2HEX(bytes[i]);
		}
		return result;
	}
	public static byte[] md5string2bytes(String str){
		byte[] b = new byte[str.length()/2];
		for(int i=0; i<b.length; i++){
			String s = str.substring(i*2,i*2+2);
			b[i] = stringHEX2bytes(s);
		}
		return b;
	}
	public boolean checkValidate(String vnetloginname,String token,String verifycode){
		try{
			String seed = token + vnetloginname + "vnetvalidate";
			MessageDigest md = MessageDigest.getInstance("MD5");
			String mdresult = md5bytes2string(md.digest(seed.getBytes()));
			return mdresult.equalsIgnoreCase(verifycode);
		}catch(Exception e){
			return false;
		}
	}
	public boolean checkValidateForPayaccount(String vnetloginname,String token,String verifycode,String paytype,String payaccountverifyresult,String payaccountno,String nodeid,String nodeverifyresult){
		try{
			String seed = token + nodeid + vnetloginname + paytype + payaccountno + payaccountverifyresult + nodeverifyresult + "vnetvalidate";
			MessageDigest md = MessageDigest.getInstance("MD5");
			String mdresult = md5bytes2string(md.digest(seed.getBytes()));
			return mdresult.equalsIgnoreCase(verifycode);
		}catch(Exception e){
			return false;
		}
	}
%>
<%
	//绑定账号类型类型,1为163帐户,2为ADSL帐户,3为现金帐户,4为促销卡帐户,5为业务卡帐户,6为套餐用户
	String paytype="6";
	//地区的node id,测试节点为"2"
	String nodeid="2";

	//本网页的网址,从Vnet网站跳回时用
	String return_url="http://localhost:9000/demoicp/LogonAndCheckByPayAccountANDNodeID.jsp";
	//取传回的参数
	String payaccountverifyresult = request.getParameter("payaccountverifyresult");
	String payaccountno = request.getParameter("payaccountno");
	if(payaccountno!=null){
		//如为套餐,会返回中文,需要解码
		payaccountno = java.net.URLDecoder.decode(payaccountno);
	}
	String vnetloginname = request.getParameter("vnetloginname");
	String token = request.getParameter("token");
	String verifycode = request.getParameter("verifycode");
	String nodeverifyresult = request.getParameter("nodeverifyresult");
	String nodestring = request.getParameter("nodestring");

	if(payaccountverifyresult == null || payaccountverifyresult.length()==0){
		//初始页面
		String jumpURL = com.onewaveinc.portalman.webpro.WebProManager.getAuthenticationJumpURL()+"?payaccount_type=" + paytype;
		jumpURL += "&node_id=" + nodeid;
		jumpURL += "&return_url="+URLEncoder.encode(return_url);
		out.println("绑定账号类型payaccount_type(1为163帐户,2为ADSL帐户,3为现金帐户,4为促销卡帐户,5为业务卡帐户,6为套餐用户):<BR>NodeID:1广州27茂名2测试节点28韶关11深圳29梅州12珠海30潮州13惠州31阳江14江门32汕尾15汕头33云浮16湛江34揭阳20佛山35河源21东莞36清远22中山37潮阳25肇庆38宽带南海26顺德39广西卡用户<BR>");
		out.println("<A href='"+jumpURL+"'>单击此处跳转到Vnet登陆页面</A><BR><BR><A href='http://gd.chinavnet.com/' target='_blank'>单击此处跳转到Vnet主页</A></form></body>");
	}else if("success".equalsIgnoreCase(payaccountverifyresult) && "success".equalsIgnoreCase(nodeverifyresult)){
		//检查校验码是否正确,如果不正确,说明是用户修改了跳回时的参数值
		if(checkValidateForPayaccount(vnetloginname,token,verifycode,paytype,payaccountverifyresult,payaccountno, nodeid, nodeverifyresult)){
			out.println("绑定账号地域信息验证通过,Vnet用户名为:" + vnetloginname + ",绑定的账号为:"+ payaccountno + ",用户地区编码为" + nodestring);
		}else{
			out.println("绑定账号地域信息验证通过,但校验码不正确<BR>");
		}
	}else{
		//检查校验码是否正确,如果不正确,说明是用户修改了跳回时的参数值
		if(checkValidate(vnetloginname,token,verifycode)){
			out.println("绑定账号地域信息验证不通过,Vnet用户名为:" + vnetloginname);
		}else{
			out.println("绑定账号地域信息验证不通过,校验码也不正确<BR>");
		}
	}
%>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -