📝해시
데이터를 value에 두고 인덱스(key)를 만든 형태로 "key:value" 데이터 구조를 가지게 된다 시간복잡도가 O(1) 로 매우 빠르다
📝해싱
해시의 키를 이용해 값을 구하는 작업을 의미한다
📝해시 테이블
해시(key, value)로 되어있는 자료구조로 Map이 있다
📝해시함수
해싱할 때 필요한 함수를 의미한다 예를 들면 HashMap에서 Key를 이용해 Value를 구하는 걸 의미한다
📝해시값
해시함수를 거쳐서 나온 값
📝SSL 인증서
SSL(Secure Sockets Layer) 인증서는 웹사이트의 신원을 확인하는 디지털 인증서이며 SSL 기술을 이용하여 서버에 전송
되는 정보를 암호화 이 포맷은 적합한 암호 해독 키로만 판독 가능한 포맷으로 되돌릴 수 있습니다.
사용자의 웹브라우저와 인터넷 사이트의 웹서버간 암호화 통신을 가능하게 하는 제3의 신뢰기관이 인증한 인증서 → 웹브라우저와 서버간 암호화 통신을 위한 프로토콜
📝SHA-256 (Secure Hash Algorithm 256)
단방향 암호화 방식으로 복호화가 되지 않는다
어떤 길이의 값을 입력하더라도 256비트의 고정된 결과값을 출력한다
대표적으로 외부로 유출되면 안되는 유저들의 패스워드 같은 것들을 DB에 저장을 할 때 그대로 저장하기 보다는 암호화를 한 뒤 저장을 한다
복호화가 필요한 데이터는 SHA256이 아닌 다른 방식으로 암호화 시키는 것을 추천한다
📝RSA
비대칭키 암호화 방식으로 암호화할 때 키와 복호화할 때 키가 다르다
암호화할 때 키를 "공개키", 복호화할 때 키를 "개인키" 클라이언트가 가지고 있는 "공개키"로 데이터를 암호화하여, 서버로 전달한다
📝AES (Advanced Encryption Standard)
대칭키 알고리즘으로 "대칭키" 하나로 암호화 및 복호화 모두 진행하고 문자열 길이에 제약이 없다
📝솔트 (Salt)
솔트값은 랜덤으로 생성되며 길이는 어느 것이든 될 수 있다.
솔트값은 평문 암호에 추가되는 형태로 위에 나온 해시함수들의 암호화를 더 보완해줄 수 있다
솔트는 최소 128bit 정도 되어야 안전하다
- SHA256 = 비밀번호 + 솔트값(암호값)
- 비밀번호 = 1234abc
- E1F53135E559C253 = 솔트값
- 1234abcE1F53135E559C253 (비밀번호 + 솔트값) → SHA256 → EFA123JQVZ4FJ6PROW…. (해시된 값)
'[CS 지식]' 카테고리의 다른 글
[CS 지식] Saas, Paas, Iaas, pinpoint, 슬로우 쿼리, DevOps (0) | 2022.11.04 |
---|---|
[CS 지식] VPS, 언리얼 엔진, 헥사, 커널, CGI (0) | 2022.10.27 |
[CS 지식] GraphQL, Monolithic Architecture, MSA(Micro Service Architecture) Multi-Repo, Monorepo, B2C, B2B (0) | 2022.10.26 |
[CS 지식] 테크리드(Tech Lead), CTO (1) | 2022.10.20 |
[CS 지식] MIME타입, 싱글톤(SingleTon) 패턴, Chunk 지향 처리, APM, 메모리디비 (0) | 2022.09.27 |