File: //home/arjun/projects/env/lib/python3.10/site-packages/bcrypt/__pycache__/__init__.cpython-310.pyc
o
!we� �
@ s� d dl mZ d dl mZ d dlZd dlZd dlZddlmZmZm Z m
Z
mZmZm
Z
mZ ddlmZ g d�Zdd
ededefd
d�Zdededefdd�Zdededefdd�Z ddededed
ededefdd�ZdS )� )�absolute_import)�divisionN� )�
__author__�
__copyright__� __email__�__license__�__summary__� __title__�__uri__�__version__)�_bcrypt)r
r r r r r r r �gensalt�hashpw�kdf�checkpw� � 2b�rounds�prefix�returnc C s^ |dvrt d��| dk s| dkrt d��t�d�}t�|�}d| d d| �d � d | S )
N)s 2ar z%Supported prefixes are b'2a' or b'2b'� � zInvalid rounds� � $z%2.2u�ascii)�
ValueError�os�urandomr
�
encode_base64�encode)r r �salt�output� r# �H/home/arjun/projects/env/lib/python3.10/site-packages/bcrypt/__init__.pyr 4 s$
������r �passwordr! c C s4 t | t�s
t |t�rtd��| d d� } t�| |�S )N�&Strings must be encoded before hashing�H )�
isinstance�str� TypeErrorr
�hashpass)r% r! r# r# r$ r H s r �hashed_passwordc C s2 t | t�s
t |t�rtd��t| |�}t�||�S )Nz'Strings must be encoded before checking)r( r) r* r �hmac�compare_digest)r% r, �retr# r# r$ r W s
r F�desired_key_bytes�ignore_few_roundsc C s� t | t�s
t |t�rtd��t| �dkst|�dkrtd��|dks&|dkr*td��|dk r2td��|dk rC|sCtjd �|�td
d� t �
| |||�S )Nr&