일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 자바스크립트 jQuery
- 오라클
- numpy
- 보안뉴스 요약
- 깃허브
- javascript
- oracle
- 자바스크립트 기본 문법
- 카카오프로젝트
- 자바스크립트 객체
- 보안뉴스 한줄요약
- 자바스크립트 prototype
- 랜섬웨어
- 보안뉴스요약
- 보안뉴스
- 다크웹
- GIT
- php
- 자바스크립트 API
- 자바스크립트 element api
- 카카오프로젝트 100
- python
- 자바스크립트
- 파이썬
- 카카오프로젝트100
- Oracle SQL
- oracle db
- 보안뉴스한줄요약
- 자바스크립트 node
- ES6
- Today
- Total
목록Programming/Python (24)
FU11M00N
- mynetlib.py import socket import pickle # ============================================================================= # 서버 코드 # ============================================================================= def run_server(port,do_work_server,s_count=1): # 1. 초기화 server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 2. bind server.bind(('',port)) # 3. listen server.listen(1) # 4. accept..
보호되어 있는 글입니다.
- RC4 스트림 암호 종류 중 하나이다. 주로 4 계층 보안 TLS,SSL , WEB 등 프로토콜에 사용되었다. 하지만 현재 취약점이 발견되어 권장하는 프로토콜은 아니다. 알고리즘으로 구현하기 위해 바이트의 개수 256개를 뒤섞고, 256개의 가능한 바이트 중 하나를 골라 해당 값을 키 스트림을 사용하여 평문과 XOR연산으로 암호화한다. 이 후 두 개의 위치만 바꾸어 섞은 후 다시 특정 위치의 바이트를 키스트림으로 반복하여 사용한다. RC4 알고리즘을 짜기위해 www.youtube.com/watch?v=kfdvlaOD1ig&t=172s영상을 참고했다. def msg_enc(msg,s): # 암호문을 XOR 한번 더하여 복호화 i=0 j=0 stream_key= [] msg=msg.encode() enc..
- SHA 매개변수 특징 - SAH512 특징 - 입력메시지 크기 최대 길이가 2 ^128 비트 이하인 메세지 - 출력 512비트 해시 - 처리 단위 1024비트 블록 - SHA-512 처리 단계 1단계 : 패딩 비트 붙이기(Appending padding bits) 2단계 : 길이 붙이기(Append length) 3단계 : MD 버퍼 초기화(Initialize MD buffer) 4단계 : 1024-비트 블록 메시지 처리 (Process message in 1024-bit blocks) 5단계 : 출력(Output) - 패딩 비트 붙이기 - 길이 붙이기 • 128 비트 블록을 메시지에 추가 - pycryptodome 암호화 라이브러리 pycryptodome 다운로드사용자로부터 받은 입력 데이터들을 파..
- 아나콘다 - 아나콘다(Anaconda)란? 아나콘다(Anaconda)는 수학과 과학 분야에서 사용되는 여러 패키지들을 묶어 놓은 파이썬 배포판으로서 SciPy, Numpy, Matplotlib, Pandas 등을 비롯한 많은 패키지들을 포함하고 있습니다. Anaconda는 특히 최근에 데이터 사이언스와 머신 러닝 분야에서 파이썬을 사용하기 위해 기본적으로 설치하는 배포판이 되었습니다. 통상 Python 3.x 버전을 선택합니다. - Anaconda 구성요소 Anaconda는 아래 그림과 같이 크게 4 부분으로 나뉘는데, 이 중 Data Science 라이브러리와 Anaconda Navigator를 사용합니다. Data Science 라이브러리는 (a) Jupyter와 같은 IDE 개발도구, (b) N..
직접 정의한 클래스의 객체에 • +, - * 와 같은 일반 연산자를 적용하려면 , 객체를 연산 가능한 상태로 만들어야 함 • 연산자 오버로딩을 통해 이를 구현 연산자 오버로딩 • 인스턴스 객체끼리 서로 연산을 할 수 있게 기존에 있는 연산자의 기능을 바꾸어 중복으로 정의하는 것 파이썬에서는 특정 이름의 메소드를 재정의하면 연산 자 중복정의 구현 - 매직 메소드 미리 정의된 수치 연산자 class NumBox: def __init__(self,num): self.num = num n=NumBox(40) print(n + 100) # n+100은 객체 + 100 임 그래서 에러 # 에러 발생 에러발생 class NumBox: def __init__(self,num): self.num = num def..
클래스에서 메서드를 통하여 속성의 값을 가져오거나 저장하는 경우가 있음 • 이 때 값을 가져오는 메서드를 getter() • 값을 저장하는 메서드를 setter() @property 데코레이터를 사용해서 getter, setter를 간단하게 구현 • @progerty 데코레이터 - 값을 가져오는 메소드 @메소드이름.setter 데코레이터 - 값을 저장하는 메소드 class Person(): def __init__(self): self.__age =0 @property def age(self): return self.__age @age.setter def age(self,value): self.__age =value james = Person() james.age = 20 print(james.age)..
- 다형성 같은 모양의 코드가 다른 동작을 하는 것 코드의 양을 줄이고, 여러 객체 타입을 하나의 타입으로 관리가 가능하여 유지 보수에 좋다. 메소드 오버라이딩도 다형성의 한 예 class Person: def __init__(self,name): self.name = name def work(self): print(self.name + "works hard") class Student(Person): def work(self): print(self.name + "studies hard") class Engineer(Person): def work(self): print(self.name + "develope something") student = Student("Dave") developer = Eng..