File: //var/opt/nydus/ops/cryptography/hazmat/primitives/twofactor/__pycache__/hotp.cpython-39.pyc
a
�,�h� � @ s� d dl Z d dlZd dlmZmZ d dlmZmZ d dlm Z m
Z
mZ d dlm
Z
eje e
ef Zdeeeje ejejeef ed�dd �ZG d
d� d�ZdS )� N)�quote� urlencode)�
constant_time�hmac)�SHA1�SHA256�SHA512)�InvalidToken�HOTP)�hotp� type_name�account_name�issuer�extra_parameters�returnc C s� d| j fdt�| j�fd| jj�� fg}|d ur>|�d|f� |�|� |rbt |�� dt |�� �nt |�}d|� d|� dt
|�� �S ) N�digits�secret� algorithmr �:z
otpauth://�/�?)�_length�base64� b32encode�_key�
_algorithm�name�upper�append�extendr r )r r r
r r �
parameters�label� r"