목록웹 개발/Java (14)
Develop
리다이렉트를 하고 싶으면return "redirect: 이동하고 싶은 곳";라고 입력하면 된다. 데이터를 보내는 방법은 두가지 방법이 있음model 과 flash @RequestMapping("test")public String test(Model model, RedirectAttributes rttr ) throws Exception{ model.addAttribute("modelMsg", "사라지지않는 메세지"); rttr.addFlashAttribute("flashMsg","새로고침시 사라짐"); return "redirect:text";}
이미지를 저장하지않고 데이터를 그대로 뷰페이지에 출력하고자 할 때 많이 사용한다 //JAVAbyte[] imgByte = " Byte Array 데이터"byte[] byteEnc64 = Base64.encodeBase64(imgByte);String img = new String(byteEnc64 , "UTF-8"); //VIEW
serviceImpl @Override public boolean otpLogin(SOMap rmap) throws Exception { SOOMap var = Util.getSOOVmap(rmap); SOOMap dbparams = new SOOMap(); String userNo = p.getStr("userNo"); dbparams.put("userNo", userNo); String otpKey = userDao.selectOtpKey(dbparams); if (Util.isNotEmpty(userNo) && Util.isEmpty(otpKey)) { var.put("otpKeyYn", "N"); // 개인키 생성 String privatekey = Goog..
파일 다운로드 구현하면서 알아본 내용- ajax로 다운로드 하는 방법과 Java에서 다운로드 하는 방법은 다르다- ajax 사용시 xhr.responseType = "blob" 라는 내용이 들어가야한다- ajax로는 get방식만 가능하며 post방식은 불가능하다- 태그를 이용한 ajax get방식은 보안에 취약하다 결론- form submit (post)방법을 사용했다- form submit 이라고 해서 꼭 페이지를 이동하는 것이 아니므로 써도 됨- 태그를 이용하여 스크립트 실행, 스크립트에서 form submit 실행(이 동작도 보안측면에서 괜찮아보이진 않는다) view.jsp ${file.ORG_FILE_NAME } (다운로드) 위의 JSP페이지에..
Maven QR Code 의존성 추가google zxing 3.3.0버전을 사용함 com.google.zxing core 3.3.0 com.google.zxing javase 3.3.0 QR Code 생성 및 새화면에 QR Code 띄우기 Controller /** * QRCode 생성 */ @GetMapping("/createQr/{eqpmntSn}") public Object createQr(@ModelAttribute("searchVo") EqpmntVo sear..
Bcrypt(비크립트) 를 이용하여 암호화 하기 암호화란? 어떤 평문을 암호문으로 바꾸는 것 복호화란? 암호문을 평문으로 바꾸는 것 평문은 우리가 봤을때 바로 알아볼 수 있지만 암호화된 암호문은 봤을때 어떤 뜻이지 알아보기 힘들다 암호화는 데이터가 유출 되었을 때 어떤 정보인지 알아보지 못하게 하기 위한 것이다 유출 자체를 막을 수는 없지만 정보를 보호해주는 기능을 한다. 주로 비밀번호를 암호화하여 사용자의 계정을 보호한다. 따라서 DB에는 사용자의 비밀번호가 그대로 저장되지 않고 암호화된 비밀번호가 저장된다. 암호화 방식 먼저 복호화가 가능한지에 따라 양방향(복호화 가능)과 단방향(복호화 불가능)으로 구분되고 양방향에서 복호화할 때 사용하는 비밀키가 암호화할 때 그대로 사용되면 대칭키, 다른 키를 사용..
SHA-256 (Secure Hash Algorithm -256) : 해시값을 이용한 암호화 방식 중 하나로 단방향 알고리즘이다. : 원본 데이터를 복구할 수 없는 형태로 변환하기 때문에 패스워드같은 민감한 정보의 보안에 적합하다. 단방향이란? : 암호화는 가능하지만 복호화(해석)가 불가능한 것을 뜻한다. 일반적으로 abc라는 값을 SHA256 알고리즘을 적용하면' 2cskk32ke33j...' 와 같은 64자(256비트 길이)의 문자열로 반환된다. abc가 암호화된 값과 abcc가 암호화된 값은 한글자라도 매우차이나므로 암호화된 값으로 원래의 값을 유추할 수 없어서 비밀번호(패스워드)를 암호화할 때 널리 사용되었으며 암호화된 값을 DB에 넣고 로그인 할 때 사용자가 입력한 비밀번호를 암호화하여 DB에 ..
회원가입시 서버단에서도 유효성 검사를 하기 위해 자바 정규식을 이용했다. 정규식이 바뀔일이 없기 때문에 final 로 선언하였는데 오류가 떴다. 오류 illegal modifier for parameter id only final is permitted 처음 작성한 코드 // 회원가입 @ResponseBody @RequestMapping(value = "userJoin", method = RequestMethod.POST) public int userJoinPOST(UserVO userVO, String us_pw_check) throws Exception { logger.debug("userJoinPOST(UserVO userVO)호출"); logger.debug("회원가입 정보 userVO : " +..