11월 09일 원티드 프리온보딩 백엔드 14일차 TIL

django custom command

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 등

© 2021. All rights reserved.

Powered by Hydejack v7.5.2