Files
CyberPanel/plogical/hashPassword.py

36 lines
1.1 KiB
Python
Raw Normal View History

2024-01-22 17:03:01 +05:00
# import uuid
# import hashlib
# import base64
#
# def hash_password(password):
# # uuid is used to generate a random number
# salt = uuid.uuid4().hex
# return hashlib.sha256(salt.encode() + password.encode()).hexdigest() + ':' + salt
#
#
# def check_password(hashed_password, user_password):
# password, salt = hashed_password.split(':')
# return password == hashlib.sha256(salt.encode() + user_password.encode()).hexdigest()
#
# def generateToken(serverUserName, serverPassword):
# credentials = '{0}:{1}'.format(serverUserName, serverPassword).encode()
# encoded_credentials = base64.b64encode(credentials).decode()
# return 'Basic {0}'.format(encoded_credentials)
import bcrypt
2018-11-20 15:43:43 +05:00
import base64
2024-01-22 17:03:01 +05:00
import secrets
2017-10-24 19:16:36 +05:00
def hash_password(password):
2024-01-22 17:03:01 +05:00
salt = bcrypt.gensalt()
hashed_password = bcrypt.hashpw(password.encode(), salt)
return hashed_password.decode()
2017-10-24 19:16:36 +05:00
def check_password(hashed_password, user_password):
2024-01-22 17:03:01 +05:00
return bcrypt.checkpw(user_password.encode(), hashed_password.encode())
2018-11-20 15:43:43 +05:00
2024-01-22 17:03:01 +05:00
def generate_token():
token = base64.urlsafe_b64encode(secrets.token_bytes(32)).decode()
return token