Flask

Flask – 암호화 해시 (Cryptographic Hash)

  • 암호화 해시란?
    • 해시 함수는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수로 암호화 해시는 매핑된 값으로부터 원래의 입력 값과의 관계를 찾기 어려운 성질을 가집니다.
    • Flask에서 지원하는 암호화 해시 패키지는 대표적으로 아래와 같습니다.
      • werkzeug
      • bcrypt
  • bcrypt 패키지 설치
    • bcrypt의 경우 werkzeug와 달리 별도의 패키지 설치가 필요합니다.
pip install bcrypt

# 추가로 freeze
pip freeze > requirements.txt
  • generate_password_hash
    • 복호화 데이터 암호화 진행
# werkzeug
from werkzeug import security

password = security.generate_password_hash(password)
# bcrypt
from flask import Flask
from flask.ext.bcrypt import Bcrypt

app = Flask(__name__)
bcrypt = Bcrypt(app)

password = bcrypt.generate_password_hash(password)
  • check_password_hash
    • (암호화 데이터, 복호화 데이터) 두 대상의 일치 여부
    • return 값 – boolean
# werkzeug 
from werkzeug import security

if security.check_password_hash(user.password, password):
    flash('Login')
else:
    flash('Password invalid')
# bcrypt 
from flask import Flask
from flask.ext.bcrypt import Bcrypt

app = Flask(__name__)
bcrypt = Bcrypt(app)

if bcrypt.check_password_hash(user.password, password):
    flash('Login')
else:
    flash('Password invalid')

참고 자료

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.