Django | Instagram 회원가입 로그인 암호화
[Mission 5] 회원가입 비밀번호 암호화 적용
- 유저가 가입할 때 비밀번호를 암호화에서 DB에 저장
1. 초기세팅
우선 bcrypt , JWT 라이브러리를 설치한다.
pip install bcrypt
pip install pyjwt
bcrypt
는 인증 구현에 앞서, 개인정보의보호를 위해 필수적으로 해야하는 요소인 비밀번호 암호화를 할 수 있게 해주는 라이브러리!
2. requirements.txt에 설치한거 저장
pip freeze > requirements.txt
3. bcrypt 라이브러리 사용하여 비밀번호 암호화 진행
python 인터프리터를 실행한 후 설치한 라이브러리를 import 해주기!
import bcrypt
password = '1234'
hashed_password = bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt())
print(hashed_password)
실제 적용:
# users > views.py
import json, re, bcrypt, jwt #brcypt(암호화)와 jwt(토큰) 임포트
#...
from westagram.settings import SECRET_KEY #세팅파일에서 시크릿 키 불러오기
class SignUp(View):
def post(self, request):
try:
data = json.loads(request.body)
hashed_password = bcrypt.hashpw(data['password'].encode('UTF-8'), bcrypt.gensalt())
#유저에게 받은 새 문자열 비밀번호를 인코딩해서 바이트형태로 이진화하고, 비크립트로 암호화한다.
#...
User.objects.create(
password = hashed_password.decode('UTF-8'),
#DB에 문자열로 저장하기 위해서 암호화된 바이트형태의 비밀번호를 디코딩해준다.
)
Author And Source
이 문제에 관하여(Django | Instagram 회원가입 로그인 암호화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@celeste/Django-Instagram-회원가입-로그인-암호화저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)