728x90
728x90

분류 전체보기 284

[MySQL] MySQL 비밀번호 변경

터미널을 켜서 root 계정으로 로그인합니다. mysql -u root -p # 기본 비밀번호를 이용해서 로그인 mysql DB를 사용합니다. use mysql; password 변경 쿼리를 적용합니다. (버전 별로 다름) # username = 'root', Host = 'localhost'라고 가정 # 'new password'에는 바꾸고 싶은 비밀번호를 입력 # version 5.6 이하 > update user set password=password('new password') where user = 'root'; # version 5.7 이상 > update user set authentication_string=password('new password') where user = 'root'; ..

[MySQL] upsert에 대한 이해

upsert 입력하고자 하는 데이터가 기존 테이블에 값이 있는 경우 새로운 데이터로 업데이트하고, 값이 없는 경우 새로운 데이터를 추가하는 기능 import pandas as pd from sqlalchemy import create_engine from sqlalchemy_utils import create_database create_database('mysql+pymysql://root:1234@127.0.0.1:3306/exam') # 마지막에 만들고 싶은 데이터베이스 이름 입력 price = pd.DataFrame({ "날짜": ['2021-01-02', '2021-01-03'], "티커": ['000001', '000001'], "종가": [1340, 1315], "거래량": [1000, 20..

[MySQL] MySQL 기초 - 2

산술 함수 숫자형 데이터의 절대값, 올림, 내림, 반올림 등을 계산할 수 있게 해줍니다. create table SampleMath (m numeric (10, 3), # Numeric은 고정 소수점 값을 나타냄. numeric(10, 3)은 소수점 이하 자리수를 포함한 총 자리수가 10이고 소수점 이하 자릿수는 3이라는 의미. n integer, p integer); insert into SampleMath(m, n, p) values (500, 0, NULL); insert into SampleMath(m, n, p) values (-180, 0, NULL); insert into SampleMath(m, n, p) values (NULL, NULL, NULL); insert into SampleMa..

[MySQL] MySQL 기초 - 1

데이터베이스(database, DB) 여러 사람이 공유하여 사용할 목적으로 체계화하여 통합, 관리하는 데이터의 집합 데이터베이스 관리 시스템(DBMS) 다수의 사용자들이 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 소프트웨어 도구의 집합 대량의 데이터를 다수의 사람이 안전하고 간단히 다룰 수 있게 해줍니다. 가장 일반적으로 사용되는 것이 관계형 데이터베이스(Relational Database): 엑셀 시트처럼 열과 행으로 이루어진 2차원 표 형식으로써 데이터를 관리하거나 이해하기 쉬움 관계형 데이터베이스 관리 시스템 중 대표적으로 사용되는 것이 오라클 RDBMS, MS SQL Server, Postgre SQL, MySQL 등이 있습니다. 테이블 구성 데이터베이스는 각각의 테이블로 이루어져 있음...

[Cryptography] 패딩과 운영모드(ECB, CBC, CTR, CFB, OFB)

- 패딩 평문의 길이가 블록 크기의 배수가 되도록 평문의 끝에 데이터를 추가하는 기법입니다. 비트패딩(Bit Padding): 마지막 블록에서 평문이 채우지 못하는 비트 중 최상위 비트를 1로 설정하고, 나머지는 모두 0으로 채우는 패딩 기법입니다. 평문의 크기가 정확히 블록 크기의 배수일 때, 수신자가 메세지의 일부를 패딩으로 오인하게 되는 문제가 있기에 이를 막기 위해 비트 패딩을 적용할 때는 평문의 크기가 블록 크기의 배수이면, 패딩으로 한 블록을 추가합니다. ex) 평문이 1001 1011 1011 1000 이라면 끝의 1000을 패딩이라고 착각하고 평문 복구 시 지워버릴 수 있기 때문에 오해가 생기지 않도록 이런 경우에는 1001 1001 1011 1000 1000 0000 0000 0000 과..

[Cryptography] 암호의 기능

1. 기밀성(Confidentiality) 허락된 사람만 정보를 열람할 수 있게 하는 기능 2. 무결성(Integrity) 송신자가 보낸 정보에 변조가 일어나지 않았음을 보증하는 기능 3. 인증(Authentication) 정보를 주고 받는 상대의 신원을 확인하는 기능. ex) 공인인증서, 웹에서 아이디와 비밀번호를 입력하는 것 4. 부인 방지(Non-repudiation) 정보를 교환한 이후에 교환한 사실을 부인할 수 없게 하는 기능

[Cryptography] 고전 암호

- 고전 암호의 분류 치환(Substitution): 평문의 문자를 다른 문자로 바꾸는 것 전치(Transposition): 평문 문자들의 위치를 바꾸는 것 단일 문자 치환 암호(Monoalphabetic Substitution Cipher) 다중 문자 치환 암호(Polyalphabetic Substitution Cipher) - 단일 문자 치환 암호(Monoalphabetic Substitution Cipher) 평문의 각 문자를 약속된 다른 문자로 치환하는 암호입니다. 복호화를 위해 치환의 대응 관계는 일대일 대응입니다. * 키 공간(Key Space): 가능한 모든 키의 집합 - 다중 문자 치환 암호(Polyalphabetic Substitution Cipher) 단일 문자 치환 암호와 달리, 평문..

[Cryptography] 디지털 서명과 공인인증서

- 디지털 서명 전자 문서나 데이터의 무결성, 인증, 부인 방지를 위해 사용되는 기술입니다. 디지털 서명은 비대칭키(공개키) 암호화 기술을 기반으로 동작하며, 발신자의 신원을 확인하고 데이터의 무결성을 보장하기 위해 사용됩니다. 작동원리는 간단하게 말하자면 Private key로 해시 결과를 암호화하는 것입니다. 그 후에 원본 문서의 해시를 계산하고 Public key로 풀어서 비교합니다. 개인 키 생성: 디지털 서명을 생성하기 위해 발신자는 자신의 개인 키와 공개 키를 생성합니다. 개인 키는 발신자만 알고 있어야 하며, 공개 키는 인증서에 포함되어 다른 사람들에게 공개됩니다. 서명 생성: 데이터에 대해 해시 함수를 적용하여 해시값을 생성한 후, 개인 키를 사용하여 해당 해시값을 암호화하여 디지털 서명을..

[Cryptography] 비대칭키(Asymmetric key)

- Asymmetric key(비대칭키) 암호화와 복호화에 서로 다른 키를 사용하는 암호화 방식입니다. 공개키 암호화 방식이라고도 합니다. 이 방식에서는 공개키와 개인키라는 두 개의 키가 쌍으로 생성됩니다. 두 키 중 하나로 암호화 하면 쌍을 이루는 다른 키로 복호화합니다.(public key로 암호화하면 private key로 복호화, private key로 암호화하면 public key로 복호화) 공개키(public key)는 누구에게나 공개되며, 개인키(private key)는 키를 생성한 개인만이 알고 있어야 합니다. 키 관리의 어려움이 대칭키 암호화보다 적습니다. PKI(Public Key Infrastructure) 기술의 근간을 이룹니다. 대표적인 알고리즘은 다음과 같습니다. RSA-2048..

728x90
728x90