본문 바로가기

반응형
JAVA
반응형
46

[JAVA] RSA 암호화 방식 적용 방법 공공기관 프로젝트 진행 도중,로그인 이용 시에 민감 데이터.. 즉 계정 정보가 평문 전송된다는 지적을 받았습니다.화면에서 서버로 데이터를 전송할때 데이터가 보여지기에 보안 취약점으로 지적을 받은 겁니다...확실히 일반 프로젝트에 비해서 공공기간 프로젝트가 여러 심의를 거치는 듯 했습니다.    아래는 'wireshark'라는 프로그램으로 패킷(데이터) 분석이 가능한 프로그램입니다.이 프로그램으로 확인해 봤더니 정말 아이디랑 패스워드가 나타나더라구요... 정말 깜짝 놀랬습니다...ㅜㅜ   그리고 아래와 같이 조치 권고 사항으로 '통신 암호화 적용' 적용하라는 문구까지 친절히 설명되어 있습니다......항상 느끼는 것이지만 프로젝트는 끝나도 끝이 아니네요 ㅜㅜ (2차 인증 OTP 구현방법을 확인하시려면 클릭.. 2021. 9. 2.
[JAVA] 구글 OTP 구현 방법 (영상 有) 공공기관 프로젝트 진행 도중,단순 로그인 기능만으로는 보안에 취약할 수 있다는 권고 지적을 받았습니다..확실히 일반 프로젝트에 비해서 공공기간 프로젝트가 여러 심의를 거치는 듯 했습니다.  그리고 아래와 같이 조치 권고 사항으로 2차 인증 시스템을 적용하라는 문구까지 친절히 설명되어 있습니다......항상 느끼는 것이지만 프로젝트는 끝나도 끝이 아니네요 ㅜㅜ (RSA 암호화 방식을 이용하여 평문 전송 이슈 해결방법을 확인하시려면 클릭해주세요) 그래서 2차 인증에 대해 고민해보다가 구글에서 제공하는 OTP 기능을 적용해보려합니다.      구현화면입니다.일회용 비밀번호가 실시간으로 변경 되는 것을 볼 수 있습니다.    OTP란 One Time Password의 의미로써 한마디로 일회용 비밀번호입니다. 보.. 2021. 9. 1.
[JAVA] 두 날짜 데이터값 계산하는 방법 (faet.D-DAY 계산) 안녕하세요. 요즘 프로젝트때문에 바빠 포스팅을 한동안 못하다가 오랜만에 하려하니 기분이 좋네요! 오늘은 두 데이터의 날짜 값을 계산하는, 즉 디데이 값을 구하는 포스팅을 하려합니다. 구현 화면입니다. 동그라미 안에 강좌가 시작하는 일자까지의 남은일을 구하는 방법입니다. 많은 프로젝트에서 많이 사용되며, 저 또한 반드시 다시 쓸일이 있을 것 같은 느낌이네요! 대략적인 구조는 자바에서 for문으로 두날짜의 계산 값을 해시맵에 담은 다음, JSP에 뿌려주는 과정을 정리하려합니다. 디데이 사진.... CONTROLLER 우선 자바에서 원하는 리스트를 뽑아줍니다. 1 List boardList6 = educationService.getEduMainList(educationTempVO); //강좌정보 cs 그리고 .. 2021. 8. 1.
[Java] 자동 계약/청구 번호/주문번호 생성 방법!!! 오늘은 자바 및 쿼리에서 등록을 할때마다 번호를 자동생성하는 방법에 대해 이야기해보려합니다. 보통은 계약서나 청구번호를 구현하려할때 많이 사용되곤 하죠! 손쉽게 구현할 수 있는 방법을 정리해보았습니다.      저의 번호생성로직은 시작날짜 년월 - 각 회사이름 - 번호 로 구현할 예정입니다. 예를들면...처음 등록했을 경우 2102-samsung-001  이렇게 되겠네요! 구현화면입니다... 머 이렇게 시작년월에 회사이름의 데이터가 없으면 001, 있으면 +1이 되는 형식입니다.   [Java] 자동 계약/청구 번호/주문번호 생성 방법!!!   Controller 12345BoardVO view = boardService.boardInfo(searchVO.getBoard_idx()); String yea.. 2021. 2. 23.
[JAVA] 자바에서 날짜 포맷 변경하는 방법 안녕하세요. 오늘은 자바를 통해서 날짜 포맷을 변경하는 방법에 대해 말씀드리려 합니다. 밑에서 정리한 코드이외에도, 다른 형식의 데이트를 생성하고 싶으시면 +1, -1 등.. 코드상의 숫자를 유기적으로 변경해주면서 활용하시면 됩니다. 자주 쓰이는 만큼 지속적으로 업데이트할 예정이니 참고해주세요! 오늘날짜(년월일) 1 2 3 4 5 6 7 8 // 오늘날짜(년월일) public String GetTodayDate() { Calendar cal = Calendar.getInstance(); cal.setTime(new Date(System.currentTimeMillis())); String today = new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());.. 2020. 10. 20.
[JAVA] 달력의 요일과 주중/주말 구하는 방법 안녕하세요. 오늘은 달력의 요일을 구하는 방법과 주중/주말을 구하는 방법을 소개하려합니다. 우선 이 두개는 매우 흡사합니다! 값에 요일을 표시하느냐 / 숫자를 표시하느냐 이 차이가 되겠습니다. 생각만하면 막막하지만 실제로보면 쉬는 로직이니 너무 걱정마세요! 만들어과정을 요약하자면 SimpleDateFormat을 통하여 포맷을 날짜형식으로 변경해줍니다. 그리고 자바에서 제공하는 날짜를 포맷에 넣어주고 자바에서 제공하는 Calendar의 시간에 set으로 넣어줍니다. 그리고 숫자 변수(int dayNum)를 만들어서 자바에서 제공하는 Calendar.DAY_OF_WEEK, 즉 한 주를 계산하는 식을 넣어줍니다. 그리고 switch함수에다가 모든걸 합친 dayNum를 넣어줘서 1부터 7까지의 값을 구합니다. .. 2020. 10. 15.
[JAVA] 이메일 문자열 나누는 방법 (아이디 / 도메인] [JAVA] 이메일 문자열 나누는 방법 (아이디 / 도메인] 안녕하세요? 게시판을 만들면서 게시판 정보 중 하나인 이메일 컬럼에 이메일 주소가 이렇게 들어가 있을 겁니다 (ex : 213213@hanmail.net) 수정화면에서는 input 칸이 두개일 경우 나눠야하는데 이것을 간단히 자바로 나눌 수 있는데요. Controller와 JSP에서만 간단하게 작업을 하면 구현할 수 있습니다. CONTROLLER 우선 컨트롤러입니다. UPDATE 부분인데 여기서 인덱스로 부른 VO 값들중에 GET을 통하여 EMAIL 컬럼을 부릅니다. 그리고 @ 부분을 IDX로 넣어주고 subString을 통해서 IDX (@) 을 기준으로 나눠줍니다. 그리고 마지막으로 model.addAttribute을 통하여 JSP로 값을 내.. 2020. 9. 18.
컴파일의 이해! 컴파일의 이해! 안녕하세요. 오늘은 컴파일에 대한 이야기를 해보겠습니다! 컴퓨터는 0과 1로만 모든 명령을 이해하고 실행합니다. 우리가 'A' 라는 문자를 입력하더라도 컴퓨터는 이것을 0과 1로 이루어진 이진코드로 해석합니다. 이때 'A'라는 문자를 컴퓨터가 이해할 수 있는 언어로 해석하는 것을 컴파일이라고 합니다. 컴파일이란! 사람이 이해하는 언어를 컴퓨터가 이해할 수 있는 언어로 바꾸어 주는 과정입니다. 원시코드에서 목적코드(목적파일)로 바꾸어 주는 것이 컴파일이고 목적 파일을 실행파일로 바꾸는 것을 링크라고 합니다. 원시코드는 우리가 작성한 코드, 목적코드는 컴퓨터가 이해할 수 있도록 번역한 코드입니다. 컴파일과 링크의 기능을 하는 것이 컴파일러입니다. 컴파일 순서! 일정한 형식으로 작성된 문서를 .. 2020. 6. 25.
JSP 개념과 이해! JSP 개념과 이해! 안녕하세요. 오늘은 JSP를 알아보려합니다. HTML을 코딩하기엔 너무 어렵고 불편해서 HTML 내부에 JAVA 코드를 삽입하는 형식이 JSP입니다. JSP 가 실행되면 자바 서블릿으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답하는 프로세스입니다. JSP는서블릿의 단점을 보완하고자 만든 서블릿 기반은 스크립트 기술입니다. 서블릿을 이용하게 되면 웹 프로그래밍을 할 수 있지만 자바에 대한 지식이 필요하며 화면 인터페이스 구현에 많은 코드를 필요로하기 때문에 비 효율적인 면이 있습니다. 그래서 서블릿을 작성하지 않고도 간편하게 프로그래밍할 수 있는 기술이 JSP(java server pages) 입니다. .. 2020. 6. 23.