Bcrypt & PyJWT

Hyerang Kim·2020년 5월 24일
0

It is an implementation of authentication and authorization.

Password Management in Django

Bcrypt is a popular password storage algorithm that’s specifically designed for long-term password storage.

Install the bcrypt library. This can be done by running

pip install bcrypt

Run the python interpreter (python interactive shell)!!

import bcrypt

Encryption

Bcrypt encrypts bytes type data, not str type. If we encode str type data, it becomes bytes(binary), and if we decode bytes data, it comes back to str type.

password = '1234'
hashed_password = bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt())
print(hashed_password)
b'$2b$12$YFs9rh.1LgJwZuf9ibyjpuLvBoCaGX0MzedFWF2Jo0zU3lMZurZ4a'

It shows the encrypted password.

type(hashed_password)
<class 'bytes'>

This is an one way encryption, which can not be decrypted.

Then, how to check the password?

new_password = '1234'
bcrypt.checkpw(new_password.encode('utf-8'),hashed_password)
True
profile
Backend Developer

0개의 댓글