aes 양방향 암호화 알고리즘에는, ECB (electronic code book) 모드가 있습니다. 공식 문서를 보면 떡하니 경고. 절대 쓰지 마세요. 라고 되어 있습니다. weakest라고 쓰여져 있는 것은 덤입니다. 왜 그런지 이것도 간단하게 실습으로 때워보도록 하겠습니다. 모르면 직접 부딪치는 것은 나쁜 전략이 아닙니다. 먼저, Crypto.Util에는 pad와 unpad가 있습니다. ECB 모드를 이용하기 위해, 적당히 pad 함수를 이용하겠습니다. 먼저, 원본인 "a"가 64개 이어 붙여져 있는 문자열이 있습니다. block_size는 16입니다. 이 함수는 style에 아무것도 없을 때, pkcs7을 이용한다고 되어 있습니다. padding 된 결과를 보도록 하겠습니다. 먼저 "a"가 64개..
네트워크 검색 결과
암호화 알고리즘 중에, 대칭키 알고리즘이 있습니다. 어떤 것인지 간단하게 실습해 보도록 하겠습니다. 파이썬에는 pycryptodome이 있습니다. 이쪽에, 여러 암호화 알고리즘들이 있습니다. 대칭키 알고리즘 중에 AES를 써 보도록 하겠습니다. 이 포스팅에서는 대칭키 알고리즘에 대해서 맛만 볼 것이니, 이 포스팅에서 언급되는 AES에 대해서도 딥 다이브를 하진 않을 것입니다. 먼저, key가 "It is 16byteIt i"입니다. 이 키로 "my oshi is"를 암호화 하겠습니다. MODE_EAX로 암호화를 하였습니다. 다음에, 10번째 줄에서 복호화를 합니다. 여기서 nonce=cipher.nonce를 넣었습니다. 10번째 줄에, cipher_text를 decrypt 해서, plain을 얻어옵니다...
안녕하세요. 이번 시간에는 X-FORWARDED-FOR 헤더에 대해서 간단하게 알아봅시다. 저는 root address에 접근했을 때, index 함수가 실행되게 해 놓았는데요. HTTP_X_FORWARDED_FOR라는 정보가 있는 경우에, 6 ~ 7번째 줄을 수행하고, 그렇지 않으면 REMOTE_ADDR을 얻어옵니다. django의 문서에 따르면 이것은 client의 ip 주소입니다. 요래 거쳐온 경우를 생각해 봅시다. client에서 보낸 요청이 1을 거쳐서 서버로 들어갔다 해 보겠습니다. 장고 서버 입장에서 보았을 때에는 클라이언트가 client로 표시된 것이 아닙니다. 단지, 1을 거쳐서 갔기 때문에, 1이 되는데요. 이 때 remote_addr은 1의 ip가 찍힐 겁니다. 실제 client의 i..
여태까지 진행한 토이 프로젝트를 컨테이너화 시켰습니다. 레포는 링크에 있어요. 저는 이 레포를 가져온 다음에, docker-compose up만 입력해서, 컨테이너로 돌아가게끔 만들었습니다. 이것을 가지고 python request를 이용한 rest api를 호출하고, 결과를 가져오는 연습을 하고 있었어요. 그런데, 연습을 하다가 415가 떨어지는 이상한 상황이 발생했는데요. 400, 401, 403, 404, 405 정도에만 익숙했던 저는 415가 낯설어서 당황하였습니다. 어떤 상황이였는지 보겠습니다. get_access_token인 것으로 보아서, 로그인을 해서 접근을 위한 토큰값을 가져오는 모양이에요. 제 도서관 api는 로그인이 성공하면 access_token을 가져와서 인증 처리를 하게 되어요...
이 글에서는 http와 https에 대해서 쓰지 않습니다. 단지, 날라가는 패킷들을 보면서, 어떤 차이가 있는지만 실습해 보는 글입니다. 그러니, 자세한 정보를 보러 오셨다면, 여기보다는 공신력 있는 사이트들을 보시는 게 더 좋을 듯 합니다. 인터넷 창을 보시다 보면, 대부분의 사이트에는 자물쇠가 있다는 것을 알 수 있어요. 연결이 안전합니다. 그런데 어떤 사이트는 그렇지 않은데요. 그 차이가 무엇인지 제가 만들고 있는 토이프로젝트를 가지고 간단하게 실습해 보겠습니다. 먼저, maven으로 패키징 된 제 토이 프로젝트를 실행해 보시면, Tomcat initialized with port(s): 7780 (http)가 뜨는데요. /borrow에 POST 요청을 보내 봅시다. 이것은 bookId가 2이고, ..
최근댓글