해시함수란?
해시함수란, 알고리즘의 한 종류로서 임의이 데이터를 입력 받아 항상 고정된 길이의 임의의 값으로 변환해주는 함수를 말합니다.
- 우리가 회원가입에 사용할 해시함수 SHA256은 어떤 길이의 입력값을 넣어도 항상 256바이트의 결과값으로 나옵니다.
- 추가적으로 동일한 입력값은 항상 같은 결과값이 나오고, 입력값은 조금이라도 달라지면 완전히 다른 값이 나오게 됩니다. 그리고 결과값을 통해 입력값을 알아내는 것이 불가능하다는 세 가지 특징이 있습니다!
# / 로그인 post 페이지 입니다. 닉네임과 비밀번호를 처리합니다.
@app.route('/user/login', methods=['POST'])
def postLogin():
nickName = request.form['nickName']
password = request.form['password']
# 비밀번호를 암호화 합니다.
hashPassword = hashlib.sha256(password.encode('utf-8')).hexdigest();
- 위의 코드가 해시함수를 사용한 예로
- password를 받아 해시함수로 변환하는 코드입니다
JWT란?
JSON Web Token의 줄임말로, JSON 객체를 사용해 정보를 안정성 있게 전달하는 웹표준.
- 예를 들어, 로그인 기능을 생각해보면 사용자가 로그인하면 서버에서 회원임을 인증하는 토큰을 넘겨줌으로써 이후 회원만 접근할 수 있는 서비스 영역에서 신분을 확인하는 데 쓰일 수 있습니다.
token = jwt.encode(payload, secret_key, algorithm='HS256')
res = jsonify({'ok': False, 'err': '3', 'token': token})
res.delete_cookie('wrongPwNum')
return res
- 위의 코드가 JWT를 활용하여 앞에서 설명함 해시함수까지 활용한 코드입니다.
'HangHae99' 카테고리의 다른 글
TIL 2021/06/14 ~ 2021/06/15 8~9일차 (0) | 2021.06.17 |
---|---|
WIL 1주차 회고 (0) | 2021.06.13 |
TIL 2021/06/11~2021/06/13 5~7일차. (0) | 2021.06.13 |
TIL 2021/06/10 4일차 (0) | 2021.06.11 |
TIL 2021/06/08 - 2일차 (0) | 2021.06.09 |