11월 09일 원티드 프리온보딩 백엔드 14일차 TIL
목차
1️⃣ 진행상황
- 프로젝트, 오디오 모델 생성
2️⃣ 진행상황리뷰
# audio/models.py
class Project(models.Model):
project_title = models.CharField(max_length=100)
create_time = models.DateTimeField(auto_now_add=True)
update_time = models.DateTimeField(auto_now=True)
class Audio(models.Model):
index = models.IntegerField()
text = models.TextField(unique=True)
speed = models.FloatField(default=1.0)
project_id = models.ForeignKey(Project, on_delete=models.CASCADE)
update_time = models.DateTimeField(auto_now=True)
- 프로젝트와 오디오 모델에 대한 구상이 더 필요할 듯
3️⃣ Today I Learned
암호화
암호화란?
특정 알고리즘을 통해 데이터를 난독화하여 보여주길 원치 않는 때는 데이터를 읽지 못하게 하고, 보여주길 원할 때만 데이터를 공개하는 것.
암호화에 필요한 요소
- 평문: 암호화할 데이터
- 암호문: 암호화한 데이터
- 암호화: 평문을 암호문으로 바꾸는 과정
- 복호화: 암호문을 평문으로 바꾸는 과정
- 키: 암호화 혹은 복호화 시에 필요한 데이터
- 암호화 키: 암호화 시에 사용하는 키
- 복호화 키: 복호화 시에 사용하는 키
암호화 알고리즘의 종류
-
양방향 시스템
암호화와 복호화가 가능한 암호화 알고리즘
- 대칭키 알고리즘
- 암호화 키와 복호화 키가 동일한 알고리즘
- 속도가 빠르나 키 분배가 어려움
- 고전 암호, AES 등
- 비대칭키(공개키) 알고리즘
- 암호화 키와 복호화 키가 다른 알고리즘
- 키 분배에 용이하나 속도가 느림
- RSA, 타원 암호 알고리즘 등
- 대칭키 알고리즘
-
단방향 시스템
- 암호화는 가능하나 복호화는 사실상 불가능한 알고리즘
- 데이터 원본이 굳이 필요하지 않은 경우 등에 사용
- MD5, SHA 등