반응형 IT/Knowledge272 [암호화] AES-128과 SHA-256 암호화란? 데이터를 있는 그대로 저장할 경우 해킹을 당하면 개인 정보가 그대로 노출이 된다. 이럴 경우를 대비하기 위해서 개발자들은 암호화 라는 기법을 사용하기 시작하였다. 암호화를 하게 되면 암호화 된 상태는 읽기가 불가능 하고 이것을 읽기 위해서는 암호화 키가 필요하다. 해당 키를 가지고 복호화 작업을 거쳐야만 다시 읽을수 있는 상태로 돌아간다. 뒤에 숫자는 bit수를 가리키며 숫자가 높을수록 암호화 키의 크기가 커짐을 의미한다. 256은 2의 256승이다. 종류는 아래 그림과 같다. SHA-256은 단방향 암호화로 복호화 하는 방법이 없어서 불가능이다. 양방향 암호화로는 대표적으로 AES와 RSA가 있다. RSA에 관련된 내용으로 서버 접근하기 위한 key에 대한 내용이 있는데 아래 참고 포스팅 참.. 2023. 10. 16. [Flyway] DB Migration 도구 (migraion) 포스팅에 앞서 먼저 알고 넘어가야하는 용어가 마이그레이션이다. 마이그레이션이란?(migration) 단어의 뜻은 이주 의 의미를 갖고있다. 의미 그대로 IT에서도 다른 환경으로 데이터를 옮기든 코드를 옮기든 이런 이관 작업을 의미한다. 오늘 다룰 Flyway는 DB migration 도구라고 생각을 하면 된다. 또는 다르게 생각하면 DB 형상관리라고 생각이 된다. 형상관리에 대해서는 아래 참고 포스팅을 참고 바란다. 만약 백엔드에서 사용중인 데이터베이스 테이블에 테이블 변화가 생긴다면 어떻게 해야할까? cloud에 올린 db라면 괜찮지만 아직 dev 환경이 구축되지 않아 local에서 각각의 db를 구축하여 개발을 해야 할 경우에 말이다. sql 문 자체를 만들어서 팀원들과 공유를 하며 형상을 관리해야한.. 2023. 10. 8. callback VS fallback (차이) 개발을 하다보면 callback과 fallback에 대해서 많이 다루게 된다. 발음도 비슷하고 하는일도 비슷해서 헷갈리곤 하지만 둘의 차이를 정확하게 짚고 넘어가려고 한다. callback은 코드를 실행하고 난 후에 실행하는 함수나 메서드 등을 의미한다. 혹은 다른 함수가 실행을 끝낸 뒤 실행되는 callback되는 함수 를 말한다. 정상적으로 되거나 실패를 할경우 모두 callback을 실행한다. https://ko.wikipedia.org/wiki/%EC%BD%9C%EB%B0%B1 콜백 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 프로그래밍에서 콜백(callback) 또는 콜백 함수(callback function)는 다른 코드의 인수로서 넘겨주는 실행 가능한 코드를 말한다... 2023. 10. 7. OpenAI 란? AI와 ChatGPT 에 대해서 많이 떠오르면서 유명한 조직이 있는데 바로 OPEN AI 이다. ChatGPT에 대한 내용은 아래 참고 포스팅 참고 바란다. Open AI 란 인공지능 연구를 주도하고 인공지능의 장기적인 이점을 추구하기 위해 설립된 연구기반의 비영리 조직으로 자세한 내용은 아래 위키를 참고 바란다. https://ko.wikipedia.org/wiki/%EC%98%A4%ED%94%88AI 오픈AI - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 오픈AI(OpenAI)는 프렌들리 AI를 제고하고 개발함으로써 전적으로 인류에게 이익을 주는 것을 목표로 하는 미국의 인공지능 연구소이다. 이윤을 목적으로 하는 기 ko.wikipedia.org OpenAI가 주목을 받고 있는.. 2023. 10. 6. 127.0.0.1 / localhost (LoopBack IP 주소) 리눅스에서 ifconfig 를 검색해보면 이와 같이 나온다. 이더넷 카드나 무선인터넷 갯수 유무에 따라 보이는게 다르겠지만 동일한것이 하나 있다. 맨 처음에 lo0: 으로 시작하는 주소가 있고 inet 127.0.0.1 이라고 쓰여있다. 이 lo는 loopback 의 약자로 자기 자신을 뜻한다. 이 주소를 루프백(loopback) 혹은 로컬호스트 주소(localhost)라고도 불린다. IPv4에서의 루프백 주소는 127.0.0.1이며, IPv6에서는 ::1 (0:0:0:0:0:0:0:1의 약자)로 사용된다. localhost로 불리는것에 대해서는 아래 참고 포스팅 참고 바란다. loopback의 동작 원리는 아래와 같다. TCP/IP 모델에서 생성된 모든 메시지는 수신자의 IP주소를 포함하게 된다. 특정.. 2023. 10. 5. Java 와 Kotlin 차이점(안드로이드 개발) 안드로이드 어플을 만들 당시에 Kotlin에 대해서 처음 접해보게 되었었다. 둘은 다르지만 비슷한 언어로 많이 여겨지는데 둘의 차이에 대해서 다뤄볼 것이다. 일단 자바는 먼저 spring 이라는 막강한 프레임워크가 존재하여 큰 생태계가 존재하여 둘의 비교를 하기엔 코틀린이 상대가 안된다 생각할수 있지만 본 포스팅에서는 안드로이드 앱 개발에 한정되어 의견을 적어본다. 하지만 안드로이드 어플 내에서는 순수 자바를 사용하기에 코틀린과 많이 비교가 된다. 먼저 함수의 시작을 알리는 main 메서드에 대해서 코드를 살펴보면 자바 Class JavaClass{ public static void main(String[] args){ // } } 코틀린 fun main(){ // } 이렇게 사용이 되어 코틀린이 좀더 .. 2023. 9. 30. XPath 인젝션 취약점 XPATH 인젝션 취약점이란? -> 코드 : XI -> 점검항목 : XPath -> 개요 : 데이터베이스와 연동된 웹 어플리케이션에서 XPath및 XQuery 질의문에 대한 필터링이 제대로 이루어지지 않을 경우 공격자가 입력이 가능한 폼에 조작된 질의문을 삽입해서 인증 우회를 통해 XML 문서로부터 인가되지 않은 데이터를 열람할수 있는 취약점 결국 injection의 한 종류이다. 가장 많이 알려진 sql injection 과의 차이점은 사용되는 문법에서 차이가 있다. sql injection은 input값에 들어가는 값이 쿼리로 이동을 하지만 xPath injection은 코드로 이동을 해서 동작을 한다. xpath injection에 대한 사이트이다. https://cheatsheet.haax.fr/.. 2023. 9. 25. SSH 로그인 RSA 방식 ssh에 대해서는 아래 참고 포스팅을 참고 바란다. 별도의 설정을 하지 않으면 기본적으로 서버에 접근하기 위한 ID와 PW로 접근을 한다. 하지만 특정 상황이나 외부 호출 해야할 경우 등 비밀번호를 입력하는 절차를 생략하고 싶은 경우 ssh key를 통해서 RSA방식으로 셋팅을 한다. 그러고 나면 서버에 비밀번호 없이 접근이 가능하다. 방법은 간단하다. 접근시도 하는 피시를 클라이언트, 접근 당하는 본 서버의 피시를 타겟 서버라고 칭할것이다. 1. 일단 사용자는 클라이언트 피시에서 접속하기 위한 키를 만들어야한다. ssh-keygen -t rsa 를 사용하면 rsa 방식으로 public 키와 private 키가 생성이 된다. (.ssh폴더 내에 id_rsa, id_rsa.pub 파일 두개가 생긴다.) 2.. 2023. 9. 13. redis data type 종류 redis에 대한 내용은 아래 참고 포스팅을 참고 바란다. redis에 데이터를 저장할때는 총 6가지의 data Type이 존재한다. 아래 표와 같다. 타입 특징 기타 Strings 1. value에 문자 숫자 등 저장 2. 문자 숫자 구분이없다. Lists 1. value에 리스트를 저장 lrange 값을 조회 하는데 -1은 모두 rpop 를 사용하여 queue 구현 가능 Sets 1. value에 set을 저장 list 와 set의 차이와 동일(참고 포스팅 참고) Hashes 1. key/value 목록을 저장한다. Sorted Sets 1. value를 set과 같은 형태로 저장. 2. set과 비슷하나 score와 함께 저장되어 score 기준으로 정렬된다. Bitmaps 1. bits 값을 저장.. 2023. 9. 11. 이전 1 ··· 10 11 12 13 14 15 16 ··· 31 다음 반응형