/
lib
/
python3
/
dist-packages
/
cryptography
/
hazmat
/
primitives
/
twofactor
/
__pycache__
/
Upload File
HOME
� p�g� � � � d dl Z d dlZd dlmZmZ d dlmZmZ d dlm Z m Z mZ d dlm Z ej e e ef Zddded ed ej e dej ej eef defd �Z G d� d� � ZdS )� N)�quote� urlencode)� constant_time�hmac)�SHA1�SHA256�SHA512)�InvalidToken�hotp�HOTP� type_name�account_name�issuer�extra_parameters�returnc �x � d| j fdt j | j � � fd| j j � � � fg}|�|� d|f� � |� |� � |r!t |� � � 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�labels �O/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/twofactor/hotp.py� _generate_urir% s� � � �4�<� � �6�#�D�I�.�.�/� �d�o�*�0�0�2�2�3��J� �����8�V�,�-�-�-����&�'�'�'� � !�5��=�=�0�0�5��.�.�0�0�0� �<� � � � D� �C�C�E�C�C�I�j�,A�,A�C�C�C� c � � e Zd Z ddedededej deddfd �Z d edefd�Z ded eddfd �Zd edefd�Zde d edej e de fd�ZdS )r NT�key�lengthr �backend�enforce_key_lengthr c �\ � t |� � dk r|du rt d� � �t |t � � st d� � �|dk s|dk rt d� � �t |t t t f� � st d� � �|| _ || _ || _ d S ) N� Tz'Key length has to be at least 128 bits.z)Length parameter must be an integer type.� � z(Length of HOTP has to be between 6 to 8.z)Algorithm must be SHA1, SHA256 or SHA512.)�len� ValueError� isinstance�int� TypeErrorr r r r r r )�selfr( r) r r* r+ s r$ �__init__z HOTP.__init__- s� � � �s�8�8�b�=�=�/�4�7�7��F�G�G�G��&�#�&�&� I��G�H�H�H��A�:�:��!����G�H�H�H��)�d�F�F�%;�<�<� I��G�H�H�H��� ����#����r&