fairnet/src/main/java/seed/com/user/check/UserCheckController.java
tolag3 c374bbb783 Merge branch 'tolag3'
본인인증 개발중
2024-10-15 10:30:51 +09:00

641 lines
25 KiB
Java

package seed.com.user.check;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import com.sci.v2.ipin.secu.SciSecuManager;
import com.sci.v2.ipin.secu.hmac.SciHmac;
import kcc.com.utl.fcc.service.EgovNumberUtil;
import kcc.com.utl.fcc.service.EgovStringUtil;
import seed.com.gtm.util.JSONView;
import seed.utils.SeedUtils;
@Controller
public class UserCheckController {
@RequestMapping("/user/case/userCheck/mediation/auth.do")
public String setMediationAuth(ModelMap map, HttpServletRequest req, HttpServletResponse response, HttpSession session,
// @PathVariable(value="siteIdx") String siteIdx,
@RequestParam Map<String,Object> paramMap){
/*----권한체크----*/
// setSessionMessageRemove(session);
// Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0"));
// String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N");
// boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx);
// boolean memberAuth = managerSiteMenuManagerService.getSiteMenuManagerListCnt(siteMenuIdx, memberIdx); memberAuthM = true; memberAuth = true;
System.out.println("/user/case/userCheck/mediation/auth.do");
session.setAttribute("hpName", "김기복");
session.setAttribute("hpBirYMD", "19871230");
session.setAttribute("hpDi", "test2017");
session.setAttribute("hpCi1", "");
session.setMaxInactiveInterval(10);
map.put("siteIdx", "case");
return "/_extra/user/mediation/mediationAuth";
}
@RequestMapping("/user/case/userCheck/setCheckCode/sessioncheck.do")
public ModelAndView setCheckCodeAndAlert(HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse, HttpSession session, Map<String, Object> map
){
session.setAttribute("hpName", "김기복");
session.setAttribute("hpBirYMD", "19871230");
session.setAttribute("hpDi", "test2017");
session.setAttribute("hpCi1", "");
session.setMaxInactiveInterval(10);
System.out.println("session interval 10 sec !!!");
HashMap<String, Object> hashMap = new HashMap<String, Object>();
if(session.getAttribute("hpName") == null || session.getAttribute("hpName").equals("")){
hashMap.put("status", false);
hashMap.put("message", "세션이 만료되었습니다 \n본인인증을 다시해주세요");
}else{
hashMap.put("status", true);
hashMap.put("message", "세션유효");
}
ModelAndView mavjson = new ModelAndView(new JSONView());
mavjson.addAllObjects(hashMap);
return mavjson;
}
@RequestMapping("/user/case/userCheck/setCheckCode/check.do")
public String setCheckCodeAndRedirect(ModelMap map, HttpServletRequest req, HttpServletResponse response, HttpSession session, @RequestParam Map<String,Object> paramMap){
String nextUrl = req.getParameter("nextUrl");
String commandCode = req.getParameter("commandCode");
String srvNo = "";
String hpSrvNo = "";
String agreeCheck = "";
String personalCheck = "";
String mediType = "";
String retUrl = "";//아이핀 인증후 리턴 페이지
String hpRetUrl = "";//모바일 인증후 리턴 페이지
String sServerName = req.getServerName();
if(commandCode.equals("medi")){//분쟁조정신청 본인인증
//개발서버
// srvNo = "007001";// 아이핀 코드
// hpSrvNo = "008001";//휴대폰 코드
//실서버
srvNo = "009001";// 아이핀 코드
hpSrvNo = "012001";//휴대폰 코드
agreeCheck = req.getParameter("agreeCheck");
personalCheck = req.getParameter("personalCheck");
mediType = req.getParameter("mediType");
//개발서버
// retUrl = "23http://ServerName:8080/user/extra/case/siren/ipin_popup_seed/jsp/Page.do";
// retUrl = retUrl.replaceAll("ServerName", sServerName);
// hpRetUrl = "32http://ServerName:8080/user/extra/case/siren/hpParamPop/jsp/Page.do";
// hpRetUrl = hpRetUrl.replaceAll("ServerName", sServerName);
//실서버
retUrl = "23http://fairnet.kofair.or.kr/user/extra/case/siren/ipin_popup_seed/jsp/Page.do";
// retUrl = retUrl.replaceAll("ServerName", sServerName);
hpRetUrl = "32http://fairnet.kofair.or.kr/user/extra/case/siren/hpParamPop/jsp/Page.do";
// hpRetUrl = hpRetUrl.replaceAll("ServerName", sServerName);
session.setAttribute("agreeCheck", agreeCheck);
session.setAttribute("personalCheck", personalCheck);
session.setAttribute("mediType", mediType);
//hpName존재하면 이미 본인인증을 거쳤기 때문에 다음으로 바로 넘어간다.
if(!SeedUtils.setReplaceNull(session.getAttribute("hpName")).equals("")){
// nextUrl = "/user/mediation/case/05/154/mediationStep04Ftc.do";
nextUrl = "/user/mediation/case/05/154/mediationStep04.do";
}
}else if(commandCode.equals("my")){//마이페이지 본인인증
//개발서버
// srvNo = "007002";
// hpSrvNo = "008002";
//실서버
srvNo = "009002";
hpSrvNo = "012002";
//개발서버
// retUrl = "23http://ServerName:8080/user/extra/case/siren/myPage_ipin_popup_seed/jsp/Page.do";
// retUrl = retUrl.replaceAll("ServerName", sServerName);
// hpRetUrl = "32http://ServerName:8080/user/extra/case/siren/myPage_hpParamPop/jsp/Page.do";
// hpRetUrl = hpRetUrl.replaceAll("ServerName", sServerName);
//실서버
retUrl = "23http://fairnet.kofair.or.kr/user/extra/case/siren/myPage_ipin_popup_seed/jsp/Page.do";
// retUrl = retUrl.replaceAll("ServerName", sServerName);
hpRetUrl = "32http://fairnet.kofair.or.kr/user/extra/case/siren/myPage_hpParamPop/jsp/Page.do";
// hpRetUrl = hpRetUrl.replaceAll("ServerName", sServerName);
}else if(commandCode.equals("online")){//온라인 분쟁조정 상담 본인인증
//개발서버
srvNo = "007003";
hpSrvNo = "008003";
//실서버
// srvNo = "009003";
// hpSrvNo = "012003";
personalCheck = req.getParameter("personalCheck");
session.setAttribute("personalCheck", personalCheck);
//개발서버
// retUrl = "23http://ServerName:8080/user/extra/case/siren/onlineCounsel_ipin_popup_seed/jsp/Page.do";
// retUrl = retUrl.replaceAll("ServerName", sServerName);
// hpRetUrl = "32http://ServerName:8080/user/extra/case/siren/onlineCounsel_hpParamPop/jsp/Page.do";
// hpRetUrl = hpRetUrl.replaceAll("ServerName", sServerName);
//실서버
retUrl = "23http://fairnet.kofair.or.kr/user/extra/case/siren/onlineCounsel_ipin_popup_seed/jsp/Page.do";
hpRetUrl = "32http://fairnet.kofair.or.kr/user/extra/case/siren/onlineCounsel_hpParamPop/jsp/Page.do";
//hpName존재하면 이미 본인인증을 거쳤기 때문에 다음으로 바로 넘어간다.
if(!SeedUtils.setReplaceNull(session.getAttribute("hpName")).equals("")){
nextUrl = "/user/onlineCounsel/case/01/158/write.do";
}
}else if(commandCode.equals("law")){
//개발서버
// srvNo = "007004";
// hpSrvNo = "008005";
//실서버
srvNo = "009004";
hpSrvNo = "012004";
personalCheck = req.getParameter("personalCheck");
session.setAttribute("personalCheck", personalCheck);
//개발서버
// retUrl = "23http://ServerName:8080/user/extra/case/siren/lawCounsel_ipin_popup_seed/jsp/Page.do";
// retUrl = retUrl.replaceAll("ServerName", sServerName);
// hpRetUrl = "32http://ServerName:8080/user/extra/case/siren/lawCounsel_hpParamPop/jsp/Page.do";
// hpRetUrl = hpRetUrl.replaceAll("ServerName", sServerName);
//실서버
retUrl = "23http://fairnet.kofair.or.kr/user/extra/case/siren/lawCounsel_ipin_popup_seed/jsp/Page.do";
hpRetUrl = "32http://fairnet.kofair.or.kr/user/extra/case/siren/lawCounsel_hpParamPop/jsp/Page.do";
//hpName존재하면 이미 본인인증을 거쳤기 때문에 다음으로 바로 넘어간다.
if(!SeedUtils.setReplaceNull(session.getAttribute("hpName")).equals("")){
nextUrl = "/user/lawCounsel/case/02/159/lawWrite.do";
}
}else if(commandCode.equals("medi_check")){
//개발서버
// srvNo = "007005";
// hpSrvNo = "008006";
//실서버
srvNo = "009005";
hpSrvNo = "012005";
String caseNo = req.getParameter("caseNo");
String checkPass = req.getParameter("checkPass");
session.setAttribute("caseNo", caseNo);
session.setAttribute("checkPass", checkPass);
//개발서버
// retUrl = "23http://ServerName:8080/user/extra/case/siren/checkMedi_ipin_popup_seed/jsp/Page.do";
// retUrl = retUrl.replaceAll("ServerName", sServerName);
// hpRetUrl = "32http://ServerName:8080/user/extra/case/siren/checkMedi_hpParamPop/jsp/Page.do";
// hpRetUrl = hpRetUrl.replaceAll("ServerName", sServerName);
//실서버
retUrl = "23http://fairnet.kofair.or.kr/user/extra/case/siren/checkMedi_ipin_popup_seed/jsp/Page.do";
hpRetUrl = "32http://fairnet.kofair.or.kr/user/extra/case/siren/checkMedi_hpParamPop/jsp/Page.do";
//hpName존재하면 이미 본인인증을 거쳤기 때문에 다음으로 바로 넘어간다.
/* if(!SeedUtils.setReplaceNull(session.getAttribute("hpName")).equals("")){
nextUrl = "/user/mediation/case/03/155/checkMediationStep03.do";
}*/
}
//나중에 메인 페이지 나오면 튕겨내기
if(nextUrl == null || agreeCheck == null){
map.put("siteIdx", "case");
map.put("url", "/case/index.do");
map.put("message", "잘못된 접근 입니다.");
map.put("opener", "");
map.put("append", "");
map.put("self", "");
return "/_common/jsp/umessage";
}
/**
* 아이핀 인증 시작 */
//String sServerName = req.getServerName();
//회원사 ID : KFA001
String id = "KFA001";
//회원가입화면용 결과 수신 URL : 23http:/211.43.219.170/hp/meb/pinSignupView.do
//String retUrl = "23http://ServerName/user/extra/case/siren/ipin_popup_seed/jsp/Page.do";
//retUrl = retUrl.replaceAll("ServerName", sServerName);
//분쟁조정신청 서비스 번호 : 006001
// String srvNo = "006001";
//요청번호(유닉크한 랜덤값) : 40 byte까지
String reqNum = "kofair" + EgovStringUtil.getTimeStamp() + EgovNumberUtil.getRandomNum(1000, 9999);
session.setAttribute("id", id);
session.setAttribute("retUrl", retUrl);
session.setAttribute("srvNo", srvNo);
session.setAttribute("reqNum", reqNum);
//복호화용 임시필드
String exVar = "0000000000000000";
/**
*
* reqNum 값은 최종 결과값 복호화를 위한 SecuKey로 활용 되므로 중요합니다.
* reqNum 은 아이핀 서비스 요청시 항상 새로운 값으로 중복 되지 않게 생성 해야 합니다.
* 쿠키 또는 Session및 기타 방법을 사용해서 reqNum 값을
* ipin_result_seed.jsp에서 가져 올 수 있도록 해야 함.
* 샘플을 위해서 쿠키를 사용한 것이므로 참고 하시길 바랍니다.
*
*/
/* Cookie c = new Cookie("reqNum", reqNum);
//c.setMaxAge(1800); // <== 필요시 설정(초단위로 설정됩니다)
response.addCookie(c);*/
session.setAttribute("reqNumKey", reqNum);
// 암호화 모듈 선언
SciSecuManager seed = new SciSecuManager();
// 1차 암호화
String encStr = "";
String reqInfo = reqNum + "/" + id + "/" + srvNo + "/" + exVar;
encStr = seed.getEncPublic(reqInfo);
// 위변조 검증 값 등록
SciHmac hmac = new SciHmac();
String hmacMsg = SciHmac.HMacEncriptPublic(encStr);
// 2차 암호화
reqInfo = seed.getEncPublic(encStr + "/" + hmacMsg + "/" + "00000000");
session.setAttribute("reqInfo", reqInfo);
/**
* 아이핀 인증 끝 */
/**
* 핸드폰 인증 시작 */
//날짜 생성
Calendar today = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String day = sdf.format(today.getTime());
java.util.Random ran = new Random();
//랜덤 문자 길이
int numLength = 6;
String randomStr = "";
for (int i = 0; i < numLength; i++) {
//0 ~ 9 랜덤 숫자 생성
randomStr += ran.nextInt(10);
}
//reqNum은 최대 40byte 까지 사용 가능
String hpId = "SKFA001"; // 본인실명확인 회원사 아이디
//String hpSrvNo = "005001"; // 본인실명확인 서비스번호
String hpReqNum = day + randomStr; // 본인실명확인 요청번호
String hpExVar = "0000000000000000"; // 복호화용 임시필드
String hpCertDate = day; // 본인실명확인 요청시간
String hpCertGb = "H"; // 본인실명확인 본인확인 인증수단
String hpAddVar = ""; // 본인실명확인 추가 파라메터
//String hpRetUrl = "32http://ServerName/kmcis/kmcisIdSearch.jsp"; // 본인인증서비스 결과수신 POPUP URL
//String hpRetUrl = "32http://ServerName/user/extra/case/siren/hpParamPop/jsp/Page.do";
//hpRetUrl = "32http://kofair2.global-it.co.kr/kmcis/kmcisIdSearch.jsp";
//hpRetUrl = hpRetUrl.replaceAll("ServerName", sServerName); //오픈할 때 주석으로 교체해줘야함
/**
*
* reqNum 값은 최종 결과값 복호화를 위한 SecuKey로 활용 되므로 중요합니다.
* reqNum 은 본인 확인 요청시 항상 새로운 값으로 중복 되지 않게 생성 해야 합니다.
* 쿠키 또는 Session및 기타 방법을 사용해서 reqNum 값을
* pcc_V3_result_seed.jsp에서 가져 올 수 있도록 해야 함.
* 샘플을 위해서 쿠키를 사용한 것이므로 참고 하시길 바랍니다.
*
*/
/*Cookie hpC = new Cookie("hpReqNum", hpReqNum);
//c.setMaxAge(1800); // <== 필요시 설정(초단위로 설정됩니다)
response.addCookie(hpC);*/
session.setAttribute("hpReqNumKey", hpReqNum);
//01. 암호화 모듈 선언
com.sci.v2.pcc.secu.SciSecuManager hpSeed = new com.sci.v2.pcc.secu.SciSecuManager();
//02. 1차 암호화
String hpEncStr = "";
String hpReqInfo = hpId+"^"+hpSrvNo+"^"+hpReqNum+"^"+hpCertDate+"^"+hpCertGb+"^"+hpAddVar+"^"+hpExVar; // 데이터 암호화
hpEncStr = hpSeed.getEncPublic(hpReqInfo);
//03. 위변조 검증 값 생성
com.sci.v2.pcc.secu.hmac.SciHmac hpHmac = new com.sci.v2.pcc.secu.hmac.SciHmac();
String hpHmacMsg = hpHmac.HMacEncriptPublic(hpEncStr);
//03. 2차 암호화
hpReqInfo = hpSeed.getEncPublic(hpEncStr + "^" + hpHmacMsg + "^" + "0000000000000000"); //2차암호화
session.setAttribute("hpRetUrl", hpRetUrl);
session.setAttribute("hpReqInfo", hpReqInfo);
/**
* 핸드폰 인증 끝 */
return "redirect:" + nextUrl;
}
//"/user/check/case/01/154/getCheckCode/check.do"
///user/case/userCheck/getCheckCode/check.do
@RequestMapping("/user/siren/case/04/154/check.do")
public String getCheckCodeAndRedirect(ModelMap map, HttpServletRequest req, HttpServletResponse response, HttpSession session,
@RequestParam("retInfo") String retInfo,
@RequestParam("nextUrl") String nextUrl){
String hpName = ""; //성명
String hpSex = ""; //성별
String hpBirYMD = ""; //생년월일
String hpFgnGbn = ""; //내외국인 구분값
String hpDi = ""; //DI
String hpCi1 = ""; //CI
String hpCi2 = ""; //CI
String hpResult = ""; // 본인확인결과 (Y/N)
String hpCertDate = ""; // 검증시간
String hpCertGb = ""; // 인증수단
String hpCellNo = ""; // 핸드폰 번호
String hpCellCorp = ""; // 이동통신사
String hpAddVar = "";
//복화화용 변수
String hpEncPara = "";
String hpEncMsg = "";
String hpMsgChk = "N";
//-----------------------------------------------------------------------------------------------------------------
//쿠키값 가져 오기
/* Cookie[] cookies = req.getCookies();
String cookiename = "";
String cookiereqNum = "";
if(cookies!=null){
for (int i = 0; i < cookies.length; i++){
Cookie hpC = cookies[i];
cookiename = hpC.getName();
cookiereqNum = hpC.getValue();
if(cookiename.compareTo("hpReqNum")==0) break;
cookiereqNum = null;
}
}*/
String hpReqNumKey = (String)session.getAttribute("hpReqNumKey");
// 1. 암호화 모듈 (jar) Loading
com.sci.v2.pcc.secu.SciSecuManager sciSecuMg = new com.sci.v2.pcc.secu.SciSecuManager();
//쿠키에서 생성한 값을 Key로 생성 한다.
retInfo = sciSecuMg.getDec(retInfo, hpReqNumKey);
// 2.1차 파싱---------------------------------------------------------------
String[] aRetInfo1 = retInfo.split("\\^");
hpEncPara = aRetInfo1[0]; //암호화된 통합 파라미터
hpEncMsg = aRetInfo1[1]; //암호화된 통합 파라미터의 Hash값
String encMsg2 = sciSecuMg.getMsg(hpEncPara);
// 3.위/변조 검증 ---------------------------------------------------------------
if(encMsg2.equals(hpEncMsg)){
hpMsgChk="Y";
}
if(hpMsgChk.equals("N")){
map.put("siteIdx", "case");
map.put("url", "/case/index.do");
map.put("message", "잘못된 접근 입니다.");
map.put("opener", "");
map.put("append", "");
map.put("self", "");
return "/_common/jsp/umessage";
}
retInfo = sciSecuMg.getDec(hpEncPara, hpReqNumKey);
String[] aRetInfo = retInfo.split("\\^");
hpName = aRetInfo[0];
hpBirYMD = aRetInfo[1];
hpSex = aRetInfo[2];
hpFgnGbn = aRetInfo[3];
hpDi = aRetInfo[4];
hpCi1 = aRetInfo[5];
hpCi2 = aRetInfo[6];
hpResult = aRetInfo[9];
hpCellNo = aRetInfo[11];
hpCellCorp = aRetInfo[12];
hpAddVar = aRetInfo[14];
/* String[] valList = hpAddVar.split(",");
String agreeCheck = "";
String personalCheck = "";
String mediType = "";
if(valList.length > 1){
agreeCheck = valList[0];
personalCheck = valList[1];
mediType = valList[2];
}*/
//이름은 인코딩되서 날라옴
try {
hpName = URLDecoder.decode(hpName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
session.setAttribute("hpName", hpName);
session.setAttribute("hpBirYMD", hpBirYMD);
session.setAttribute("hpSex", hpSex);
session.setAttribute("hpFgnGbn", hpFgnGbn);
session.setAttribute("hpDi", hpDi);
session.setAttribute("hpCi1", hpCi1);
session.setAttribute("hpCi2", hpCi2);
session.setAttribute("hpResult", hpResult);
session.setAttribute("hpCellNo", hpCellNo);
session.setAttribute("hpCellCorp", hpCellCorp);
session.setAttribute("hpAddVar", hpAddVar);
/* session.setAttribute("agreeCheck", agreeCheck);
session.setAttribute("personalCheck", personalCheck);
session.setAttribute("mediType", mediType);*/
//세션유지 2시간
session.setMaxInactiveInterval(60*60*2);
return "redirect:" + nextUrl;
}
@RequestMapping("/user/siren/case/04/154/check2.do")
public String getCheckCodeAndRedirect2(ModelMap map, HttpServletRequest req, HttpServletResponse response, HttpSession session,
@RequestParam("retInfo") String retInfo,
@RequestParam("nextUrl") String nextUrl){
String encPara = "";
String decPara = "";
String encMsg = ""; // HMAC 메세지
String reqNum = "";// 요청번호(복호화)
String vDiscrNo = "";// 가상식별번호
String name = ""; // 성명
String result = "";// 결과값 (1인경우에만 정상)
String age = "";
String sex = "";
String ip = "";
String authInfo = ""; // 발급수단정보
String birth = "";
String fgn = ""; // 외국인구분
String discrHash = "";// 중복가입확인정보
String msgChk = "N"; // 위조/변조 검증 결과
//쿠키값 가져 오기
/* Cookie[] cookies = req.getCookies();
String tranjectionName = "";*/
String tranjectionReqNum = "";
/* if (cookies != null) {
for (int i = 0; i < cookies.length; ++i) {
Cookie c = cookies[i];
tranjectionName = c.getName();
tranjectionReqNum = c.getValue();
if (tranjectionName.compareTo("reqNum") == 0)
break;
tranjectionReqNum = "";
}
}*/
tranjectionReqNum = (String)session.getAttribute("reqNumKey");
// 1. 암호화 모듈 (jar) Loading
SciSecuManager sciSecuMg = new SciSecuManager();
retInfo = sciSecuMg.getDec(retInfo, tranjectionReqNum);
int inf1 = retInfo.indexOf("/", 0);
int inf2 = retInfo.indexOf("/", inf1 + 1);
encPara = retInfo.substring(0, inf1);//암호화된 통합 파라미터
encMsg = retInfo.substring(inf1 + 1, inf2);//암호화된 통합 파라미터의 Hash값
if (sciSecuMg.getMsg(encPara).equals(encMsg)) {
msgChk = "Y";
}
if (msgChk.equals("N"))
{
map.put("siteIdx", "case");
map.put("url", "/case/index.do");
map.put("message", "잘못된 접근 입니다.");
map.put("opener", "");
map.put("append", "");
map.put("self", "");
return "/_common/jsp/umessage";
}
// 4.파라미터별 값 가져오기 ---------------------------------------------------------------
decPara = sciSecuMg.getDec(encPara, tranjectionReqNum);
int info1 = decPara.indexOf("/", 0);
int info2 = decPara.indexOf("/", info1 + 1);
int info3 = decPara.indexOf("/", info2 + 1);
int info4 = decPara.indexOf("/", info3 + 1);
int info5 = decPara.indexOf("/", info4 + 1);
int info6 = decPara.indexOf("/", info5 + 1);
int info7 = decPara.indexOf("/", info6 + 1);
int info8 = decPara.indexOf("/", info7 + 1);
int info9 = decPara.indexOf("/", info8 + 1);
int info10 = decPara.indexOf("/", info9 + 1);
int info11 = decPara.indexOf("/", info10 + 1);
int info12 = decPara.indexOf("/", info11 + 1);
int info13 = decPara.indexOf("/", info12 + 1);
reqNum = decPara.substring(0, info1);
vDiscrNo = decPara.substring(info1 + 1, info2);
try {
name = URLDecoder.decode(decPara.substring(info2 + 1, info3), "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
result = decPara.substring(info3 + 1, info4);
age = decPara.substring(info4 + 1, info5);
sex = decPara.substring(info5 + 1, info6);
ip = decPara.substring(info6 + 1, info7);
authInfo = decPara.substring(info7 + 1, info8);
birth = decPara.substring(info8 + 1, info9);
fgn = decPara.substring(info9 + 1, info10);
discrHash = decPara.substring(info10 + 1, info11);
discrHash = sciSecuMg.getDec(discrHash, tranjectionReqNum); //중복가입확인정보는 한번더 복호화
session.setAttribute("hpName", name);
session.setAttribute("hpBirYMD", birth);
session.setAttribute("hpDi", discrHash);
session.setAttribute("hpCi1", "");
//세션유지 2시간
session.setMaxInactiveInterval(60*60*2);
return "redirect:" + nextUrl;
}
}