a
a @ sH d dl Z d dlmZ d dlmZ d dlmZmZmZ G dd de Z
dS ) N)
constant_time)InvalidToken)HOTP_ALLOWED_HASH_TYPES
_generate_uric @ sl e Zd ZdeeeeejedddZ ej
eef edddZeedd d
dZ
eeje edd
dZdS )TOTPNT)keylength algorithm time_stepbackendenforce_key_lengthc C s || _ t||||d| _d S )N)r
)
_time_stepr _hotp)selfr r r
r r r
r S/usr/lib64/python3.9/site-packages/cryptography/hazmat/primitives/twofactor/totp.py__init__ s z
TOTP.__init__)timereturnc C s t || j }| j|S )N)intr r generate)r r Zcounterr r r r s z
TOTP.generate)totpr r c C s t | ||stdd S )Nz#Supplied TOTP value does not match.)r Zbytes_eqr r )r r r r r r verify# s zTOTP.verify)account_nameissuerr c C s t | jd||dt| jfgS )Nr Zperiod)r r r r )r r r r r r get_provisioning_uri' s zTOTP.get_provisioning_uri)NT)__name__
__module____qualname__bytesr r typingAnyboolr Unionfloatr r strOptionalr r r r r r s
r )r! Zcryptography.hazmat.primitivesr Z(cryptography.hazmat.primitives.twofactorr Z-cryptography.hazmat.primitives.twofactor.hotpr r r objectr r r r r