일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 보안뉴스 요약
- 오라클
- 깃허브
- 자바스크립트 prototype
- Oracle SQL
- 보안뉴스
- 카카오프로젝트 100
- 자바스크립트 element api
- 카카오프로젝트100
- 자바스크립트 API
- 자바스크립트 jQuery
- 자바스크립트 node
- 자바스크립트 기본 문법
- php
- 자바스크립트 객체
- 랜섬웨어
- javascript
- 보안뉴스요약
- 보안뉴스한줄요약
- python
- oracle db
- numpy
- 보안뉴스 한줄요약
- 파이썬
- 카카오프로젝트
- ES6
- 다크웹
- 자바스크립트
- oracle
- GIT
- Today
- Total
목록python (7)
FU11M00N
- 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 다운로드사용자로부터 받은 입력 데이터들을 파..
- 배열 연산 Numpy는 배열끼리의 연산을 지원합니다. 언뜻 보면 규칙이 복잡하지만 잘만 사용하면 상당히 복잡한 기능도 배열끼리의 연산으로 간단히 구현가능합니다. na1 = np.array( [[1,2],[3,4]] ) # shape : (2,2) na2 = np.array( [[1,2]] ) # shape : (1,2) na3 = np.array( [[1],[2]]) # shape : (2,1) print( na1 + na2 ) print( na1 + na3 ) Numpy 의 배열끼리의 연산은 같은 동일 차원(x축, y축등.. ) 길이가 같거나 또는 한쪽이 1일때 허용됩니다. 단 차원의 크기다 다를때는 앞의 차원은 1로 간주됩니다. 아래에는 서로 연산이 가능한 쉐이프의 예가 나와있습니다. (2,2) ..
- Numpy 활용하기 numpy 를 import 해주면 numpy 사용이 가능합니다. import numpy as np import matplotlib.pyplot as plt - 숫자 연산 narr = np.array([[1,2],[3,4]]) print(narr + 2) print(narr * 2) print(narr / 2) - 수학 연산 Numpy 는 사칙연산 외에도 여러 수학함수를 배열 전체에 대해 사용할 수 있도록 여러 수학적 함수를 지원합니다. 컴퓨터에서 삼각함수가 왜 필요할까요? 삼각함수는 어떠한 주기성을 가진 데이터를 표현하는 방법으로 사용됩니다. 삼각 함수는 cos,sin,tan 으로 이루어집니다. 입력값은 일반적인 360도 수치가 아닌 파이(π = 3.14... ) 를 기존으로 표현..
직접 정의한 클래스의 객체에 • +, - * 와 같은 일반 연산자를 적용하려면 , 객체를 연산 가능한 상태로 만들어야 함 • 연산자 오버로딩을 통해 이를 구현 연산자 오버로딩 • 인스턴스 객체끼리 서로 연산을 할 수 있게 기존에 있는 연산자의 기능을 바꾸어 중복으로 정의하는 것 파이썬에서는 특정 이름의 메소드를 재정의하면 연산 자 중복정의 구현 - 매직 메소드 미리 정의된 수치 연산자 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..
- 다중 상속 • 여러 개의 클래스로부터 상속받는 경우 파이썬은 다중 상속을 지원하고 부모 클래스에 동일한 메소드나 속성이 있을 때는 왼쪽에서부터 우선권 을 부여 합니다. class 기반 클래스명 1: 코드 class 기반 클래스명 2: 코드 Class 파생 클래스명(기반 클래스명 1, 기반 클래스명 2): 코드 여러 개의 클래스로부터 상속받는 경우 class Person: def greeting(self): print("안녕하세요") class University: def manage_credit(self): print('학점관리') class Undergraduate(Person, University): def study(self): print("공부하기") sunja = Undergraduate()..
- 클래스 상속 • 기존 클래스는 그대로 유지한 채로 기존 클래스에 다른 기능을 추가할 때 사용하는 기능입니다. • 기반(base) 클래스(super class) : 물려주는 클래스 • 파생(derived) 클래스(sub class): 상속을 받아 새롭게 만드는 클래스 - 형식 class 기반 클래스명 : 코드 class 파생 클래스명(기반 클래스명) : 코드 - 예제 1 class Person: def __init__(self): print('Person __init__') self.hello = "안녕하세요" class Student(Person): def __init__(self): print('Person __init__') super().__init__() self.school = "파이썬 학교..