본문 바로가기
반응형

Total40

[암호화 해시] 1. 암호화 해시 함수의 특성과 성질 암호화 해시 함수 해시는 입력값을 변조해서 특정 해시 값을 만들고, 그 해시 값을 이용해 데이터를 저장하는 자료구조이다. 이 때, 변조하는 함수에 몇 가지 특성을 추가해서 암호화에 사용할 수 있게 한 해시 함수를 암호화 해시 함수라고 한다. 암호화 해시 함수의 성질 암호화 해시 함수는 크게 3가지 성질이 있다. 1. 제 1 역상 저항성 해시 값을 통해서 입력 값을 찾기 어렵다. 2. 제 2 역상 저항성 특정 입력 값과 같은 해시 값을 반환하는 또 다른 입력 값을 찾기 어렵다. 3. 충돌 저항성 같은 해시 값을 반환하는 2개의 입력 값의 쌍을 찾기 힘들다. 여기서 2번과 3번은 비슷한 내용같지만 매우 다르다. 제 2 역상 저항성은 1개의 입력 값을 이미 알고 있는 상태에서 그 입력 값과 같은 해시 값을 반.. 2020. 2. 11.
[Spring ]WebSocketSession 에서 HttpSession 값 사용하는 방법 같은 세션이라고 해도 HttpSession에 값이 있다고 해서 WebSocketSession에 그대로 그 값이 전달되지 않는다. 그래서 우리는 client가 Server에 handshake을 진행할 때 HttpSession에 있는 attribute들을 WebSocketSession에 전달하도록 따로 설정해야한다. 혹여 handshake라는 단어가 낯설다면... 다음과 같다. servlet-context의 websocket에 handshake-interceptors라는 구문을 추가해주면 되는데 (interceptor는 http통신에서 request, response를 가로채는 역할을 한다.) Httpsession에 있는 값을 가로채서 WebSocketSession에 똑같이 넣어주는 역할을 한다. 이로서 W.. 2020. 1. 12.
[Web Socket / Spring] 실시간 채팅 기능 구현 http통신의 특징과 한계 http통신은 HyperText Transfer Plotocol의 약자로서 오늘날 광범위하고 일반적으로 사용되는 통신 기법이다. http의 기본 원리는 client가 server에게 자신이 받고싶은 정보를 request에 담아 전송한다. server는 client의 request에 따라서 알맞은 response로 응답한다. client는 server에게 받은 response의 데이터를 사용한다. 이다. 즉, client가 자신이 어떤 데이터를 받고싶은지 server에 요청을 해야, server가 그 요청에 맞는 데이터를 제공해 주는 방식이다. 그래서 http통신의 가장 큰 특징 중 Stateless, Connectionless라는 특징이 있다. client가 server에 re.. 2020. 1. 12.
이진 탐색 트리( map, set )와 우선순위 큐 ( Heap ) 이진 탐색 트리 이진 트리의 일종 자신보다 작은 값을 왼쪽 노드에 위치시키고, 자신보다 큰 값을 오른쪽 노드에 위치시킴 C++ 컨테이너인 map, set Java의 TreeSet, TreeMap은 이진 탐색 트리로 이루어져 있다. Map, Set 중복을 허용하지 않는 자료구조 대부분의 언어에서 Red-Black Tree를 사용함 (이진 탐색 트리의 한 종류) 특정한 기준에 의해서 정렬되어있음(JAVA의 경우 TreeMap, TreeSet만 정렬되어있고 HashMap, HashSet은 정렬 X) 자료구조 key value Map 중복될 수 없음 중복 가능 Set 중복될 수 없음 X(존재하지 않음) Heap 우선순위 큐를 위한 자료구조 heap은 우선순위 큐를 구현하기 위한 자료구조로서, 완전 이진트리 이다.. 2020. 1. 6.
반응형