Languages/java 51

[JAVA] (암호화02) 기초적인 원리

암호화 복호화의 기본 원리보면 알 수 있듯이 단방향, 양방향을 함께 사용한다. 암호화 복호화를 쓰는 이유허가받지 않은 유저가 중간에 데이터를 가로채갈 위험이 존재하기 때문.(스코핑) 실제 네이버에 로그인 화면을 살펴보면아이디와 비밀번호를 치고있는 중에 키를 준다. 단방향 - 복호화 불가양방향 - 비대칭, 대칭키 네이버 - 대칭키 사용. 가로채더라도 키를 못써먹게 만들기 위해 키를 줄 때 한번 암호화를 거쳐서 키를 던져준다 클라이언트가 가지고 있는 키로 암호화를 하는게 아니라 네이버에서 준 키로 암호화를 한다. SHA-512방식 ⇒ 64bytedb에 암호화 시켜서 값 넣어보기base64 → encoding 후 데이터 크기가 1.3배 증가 Uploaded by Notion2Tistory v1.1.0

Languages/java 2021.04.13

[JAVA] (암호화01) encode && encrypt

encrypt와 encodeencode데이터 전송 시 사용된다.다양한 데이터를 다양한 형태로오직 데이터를 전달하려는 목적을 가지고 있다. encryptencode와 같이 데이터 전송 시 사용되지만주 목적은 데이터를 보호하기 위해 사용. encoding 의 방법 (여러가지가 존재)Url encodingBase64-대소문자(52 + 숫자) 1.URLEncoding우리가 자주 사용하는 utf-8 타입으로.(한글은 영문과 다르게 바이트 계산법이 다르다.그걸 지원하는게 utf-8)encoding은 언제라도 decoding이 가능하다. encode의 경우 누군가가 데이터를 인지할수 있게끔 하는것이 목적 2. Base64jdk 1.8 이상에서만 지원함.버전이 1.8이다. 이전 버전에서는 다른 라이브러리가 필요하다.현..

Languages/java 2021.04.13

[JAVA](eclipse)junit 사용하기(단위테스트)

eclipse의 maven을 이용한 프로젝트 운용 시 main을 불러와서 사용할 수 없다. 이럴 때 사용하기 위한 프레임워크. mvn repository에서 받아온다. pom.xml의 dependency에 추가 테스트할 파일 클릭 후 ctrl+n(새로만들기)junit을 검색 후 next파일 선택 후 새로만들기로 이동하게 되면 이렇게 자동으로 값들이 들어가 있는걸 볼 수 있다.next 후 테스트를 필요로 하는 메서드 선택암복호화의 sha512를 테스트 해보기 위해서 sha512를 선택.실행하면 이런 화면이 뜸.최초 실행 시 오류가 뜨는데 당황하지 말기. 기본값이 fail로 주어져 있다.그리고 아래에 내용들 입력 이렇게 maven파일에서 main역할을 할 수 있다.따로 테스트 파일에 logger를 설치하지 ..

Languages/java 2021.04.13

[JAVA] 파일업로드02_해보기

앞서 한 것들에게는 검증이 제대로 되어있지 않다.저장하려는 폴더가 없다면 어떻게 할 것인가실제로 이미지만 올라갈까?널체크버전을 타고있다. jsp에서는 이렇게 작성했지만 실제로 넘어가는 값이 image만 있지 않을 가능성이 높다.이러한 문제들을 한번 잡아보자. 1, 폴더가 없을 시mkdirs()로 servletContext로 구한 경로의 모든 폴더들을 생성한다.계층구조의 모든 폴더 생성. 이렇게 실제 폴더가 없을 시 폴더를 만들어 줌으로써 1번 해결. 2. 실제 이미지인가?jsp에서는 image만 올리게끔 했지만 image가 올라오지 않을 수도 있다. 검증을 해주지 않을 시 오류가 뜨면 서버가 꺼질 수 있다. 타입을 가져와서 image/로 시작되는지 체크mimetype을 check하고 오류를 상위로 올려준..

Languages/java 2021.04.12

[JAVA] 파일업로드01_해보기

파일 전송해보기 jsp : 에서 method를 post로 해야한다.file은 문자열이 아닌 2진데이터(byte)형식이기 때문에 requestBody에 데이터들을 담아서 보내주어야 한다.body를 생성하려면 method를 post방식으로 사용해야함. inline에 2진데이터를 첨부할 수 없다. requestInline은 String만 가능하다.그래서 method = post로 바디를 생성해서 보낸다. 아래 사진처럼 input type="file"로만 지정해서보내면 값을 받아올 수 없다. 실제로 출력하면 문자열이 넘어간다.그래서 form태그에 enctype을 지정해 준다.(encodingtype)enctype = "multipart/form-data"enctype을 설정해 주어야 한다. 이렇게 기본 urle..

Languages/java 2021.04.12

[Scriptlet]jsp에서 java사용하기

jsp 페이지 내에서 java 언어를 사용하기 위한 요소.로 표현된다. 종류 선언(declaration)여기서 선언된 변수 및 메소드는 전역으로 사용이 가능하다jsp 파일과 class파일로 나뉠 때 진짜 jsp파일에서 작용한다. 표현식(Expresstion)변수의 값 혹은 메소드 호출 결과값을 출력하기 위해 사용.결과값은 String 지시자jsp페이지의 전체적인 속성을 지정할 때 사용.page, include, taglib. page - 해당 페이지의 전체적인 속성 지정등 주로 언어 지정 및 import에 사용 include - 현재 페이지 내에 다른 페이지를 삽입할 때 사용.페이지 안에 다른 페이지를 넣어준다. taglib - jsp 문법 중 하나인 액션을 사용할 때 필요. Uploaded by Not..

Languages/java 2021.04.11

[JAVA] ajax_form 쉽게쓰기

ajaxForm 라이브러리 사용해보기 결과적으로 여기 들어가서 우클릭 -> 다른이름으로 저장 .js로 다운받아서 사용하면 된다. 사용방법은 여기 ajax 쉽게 쓰기 form → ajax로 바꿔보기 이렇게 만들어 둔 function을 가져와서 써도 된다! 그렇지만 한번 플러그인을 사용해 보자!! 이렇게 검색해서 왼쪽 상단의 download 클릭! 클릭 후 우클릭으로 다른이름 저장! .js를 받아서 내부를 사용하자 js 하단에 붙여 넣으면 ok! **플러그인 - 상위의 것(jQuery)가 없으면 쓸 수 없는 것들을 지칭! 서버의 입장에서 클라이언트가 어떤 데이터를 요구하느냐가 중요하다. accept와 content타입이 중요하다. 하는 일은 같지만 보내는 데이터 형식이 다르기 때문!! 주의 javascrip..

Languages/java 2021.04.07

[JAVA]OGNL 사용하기

Object-Graph Navigation Language (OGNL)자바가 아닌 곳에서 자바를 쓰고 싶을 때 쓰는 언어.ex) xml에서 java 쓰기쓰는 방법의 경우 https://commons.apache.org/proper/commons-ognl/language-guide.html아파치 사이트에 잘 설명되어 있다.메소드 부르는 방법스태틱 메소드 부르는 방법 등실제로 사용하기member.xml 파일혹은 INSTR(MEM_NAME, #{simpleSearch.searchWord}) > 0 INSTR(MEM_ADD1, #{simpleSearch.searchWord}) > 0 INSTR(MEM_NAME, #{simpleSearch.searchWord}) > 0 OR INSTR(MEM_ADD1, #{sim..

Languages/java 2021.04.06

[JAVA]lombok(DomainFramework) 설치하기

GetterSetter 쉽게 사용하자 maven에서 받기만 해서는 적용이 되질 않는다. jar파일을 따로 받아서 설치해야함. 수동으로 받아주자. maven의 dependency만 추가해서는 이클립스가 알아서 컴파일해주지 않는다. 일일이 쓰지 않고 getterSetter해주기 어노테이션 하나면 끝! 이렇게 더 많은 것들이 있다. @EqualsAndHashCode(of={ } ) {} 안쪽에 있는 변수들을 식별성 있는 값으로 지정하겠다. @ToString(exclude={ }) {} 안쪽에 있는 변수들을 빼겠다. noArgsConstructor = 파라미터를 아무것도 가지지 않는 기본 생성자를 생성하겠다 AllArgsConstructor = 모든 파라미터를 가지고 있는 생성자를 생성하겠다. 코드상에는 나오지..

Languages/java 2021.04.06
728x90
반응형