HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/self/root/usr/lib/python3/dist-packages/cryptography/__pycache__/
Upload File :
Current File : //proc/self/root/usr/lib/python3/dist-packages/cryptography/__pycache__/fernet.cpython-311.pyc
�

p�g�����ddlZddlZddlZddlZddlZddlmZddlmZddl	m
Z
mZddlm
Z
mZmZddlmZGd�de��Zd	ZGd
�d��ZGd�d
��ZdS)�N)�utils)�InvalidSignature)�hashes�padding)�Cipher�
algorithms�modes)�HMACc��eZdZdS)�InvalidTokenN)�__name__�
__module__�__qualname__���5/usr/lib/python3/dist-packages/cryptography/fernet.pyrrs�������Drr�<c	���eZdZ	ddejeefdejfd�Ze	defd���Z
dedefd�Zded	edefd
�Z
ded	ededefd�Z	dd
ejeefdejedefd�Zd
ejeefded	edefd�Zd
ejeefdefd�Zed
ejeefdejeeffd���Zdeddfd�Zdededejejeefdefd�ZdS)�FernetN�key�backendc��	tj|��}n'#tj$r}t	d��|�d}~wwxYwt|��dkrt	d���|dd�|_|dd�|_dS)Nz4Fernet key must be 32 url-safe base64-encoded bytes.� �)�base64�urlsafe_b64decode�binascii�Error�
ValueError�len�_signing_key�_encryption_key)�selfrr�excs    r�__init__zFernet.__init__s���
	��*�3�/�/�C�C���~�	�	�	��F����
�����	�����s�8�8�r�>�>��F���
� ����H���"�2�3�3�x����s��;�6�;�returnc�N�tjtjd����S)Nr)r�urlsafe_b64encode�os�urandom)�clss r�generate_keyzFernet.generate_key.s���'��
�2���7�7�7r�datac�j�|�|ttj������S�N��encrypt_at_time�int�time)r#r-s  r�encryptzFernet.encrypt2s&���#�#�D�#�d�i�k�k�*:�*:�;�;�;r�current_timec�X�tjd��}|�|||��S)Nr)r)r*�_encrypt_from_parts)r#r-r5�ivs    rr1zFernet.encrypt_at_time5s'��
�Z��^�^���'�'��l�B�?�?�?rr8c���tjd|��tjtjj�����}|�|��|�	��z}tt	j|j��tj
|�������}|�|��|�	��z}d|�dd���z|z|z}t!|jt%j����}	|	�|��|	�	��}
t)j||
z��S)Nr-����big)�length�	byteorder)r�_check_bytesr�PKCS7r�AES�
block_size�padder�update�finalizerr"r	�CBC�	encryptor�to_bytesr
r!r�SHA256rr()r#r-r5r8rC�padded_datarG�
ciphertext�basic_parts�h�hmacs           rr7zFernet._encrypt_from_parts9s;��	��6�4�(�(�(���z�~�8�9�9�@�@�B�B���m�m�D�)�)�F�O�O�,=�,=�=����N�4�/�0�0��I�b�M�M�
�
��)�+�+�	��%�%�k�2�2�Y�5G�5G�5I�5I�I�
�
��#�#�1��#�>�>�
?��
��
�	�
��"�F�M�O�O�4�4��	��������z�z�|�|���'��d�(:�;�;�;r�token�ttlc��t�|��\}}|�d}n"|ttj����f}|�|||��Sr/)r�_get_unverified_token_datar2r3�
_decrypt_data)r#rOrP�	timestampr-�	time_infos      r�decryptzFernet.decryptRsW��!�;�;�E�B�B��	�4��;��I�I��c�$�)�+�+�.�.�/�I��!�!�$�	�9�=�=�=rc��|�td���t�|��\}}|�||||f��S)Nz6decrypt_at_time() can only be used with a non-None ttl)rrrRrS)r#rOrPr5rTr-s      r�decrypt_at_timezFernet.decrypt_at_time\sT���;��H���
�!�;�;�E�B�B��	�4��!�!�$�	�C��3F�G�G�Grc�j�t�|��\}}|�|��|Sr/)rrR�_verify_signature)r#rOrTr-s    r�extract_timestampzFernet.extract_timestampfs3�� �;�;�E�B�B��	�4����t�$�$�$��rc�t�t|ttf��std���	t	j|��}n!#ttjf$rt�wxYw|r|ddkrt�t|��dkrt�t�|dd�d���}||fS)Nztoken must be bytes or strr��	�r<)r>)�
isinstance�str�bytes�	TypeErrorrrrrrr r2�
from_bytes)rOr-rTs   rrRz!Fernet._get_unverified_token_datals����%�#�u��.�.�	:��8�9�9�9�	��+�E�2�2�D�D���8�>�*�	�	�	���	�����	�t�A�w�$������t�9�9�q�=�=����N�N�4��!��9��N�>�>�	��$��s�A�A c���t|jtj����}|�|dd���	|�|dd���dS#t$rt�wxYw)N���)r
r!rrIrD�verifyrr)r#r-rMs   rrZzFernet._verify_signature�sz����"�F�M�O�O�4�4��	����d�s�d�����	�
�H�H�T�#�$�$�Z� � � � � ���	�	�	���	���s�A$�$A6rTrUc��|�*|\}}||z|krt�|tz|krt�|�|��|dd�}|dd�}tt	j|j��tj|�����	��}|�
|��}		|	|���z
}	n#t$rt�wxYwtjtjj�����}
|
�
|	��}	||
���z
}n#t$rt�wxYw|S)Nr^�rf)r�_MAX_CLOCK_SKEWrZrrrAr"r	rF�	decryptorrDrErrr@rB�unpadder)r#r-rTrUrPr5r8rKrk�plaintext_paddedrl�unpaddeds            rrSzFernet._decrypt_data�sm��� � )��C���3���-�-�"�"��o�-�	�9�9�"�"����t�$�$�$�
�!�B�$�Z���"�S�&�\�
���N�4�/�0�0�%�)�B�-�-�
�
�
�)�+�+�	�%�+�+�J�7�7��	��	� 2� 2� 4� 4�4�����	�	�	���	�����=���!:�;�;�D�D�F�F���?�?�#3�4�4��	���)�)�+�+�+�H�H���	�	�	���	�����s�7C�C!�/E�Er/)r
rr�typing�Unionrbra�Anyr%�classmethodr,r4r2r1r7�OptionalrVrXr[�staticmethod�TuplerRrZrSrrrrrsp������#�(�(�
�\�%��*�
%�(���(�(�(�(�&�8�U�8�8�8��[�8�<�E�<�e�<�<�<�<�@�E�@��@��@�@�@�@�<��<�),�<�27�<�	�<�<�<�<�4LP�>�>��\�%��*�-�>�4:�O�C�4H�>�	�>�>�>�>�H��\�%��*�-�H�47�H�GJ�H�	�H�H�H�H��v�|�E�3�J�'?��C��������|�E�3�J�'��	��c�5�j�	!�����\��(�e�������!��!��!��?�6�<��S��#9�:�	!�

�!�!�!�!�!�!rrc��eZdZdejefd�Zdedefd�Zdede	defd�Z
dejeefdefd�Z
	d
dejeefd
eje	defd�Zdejeefd
e	de	defd�Zd	S)�MultiFernet�fernetsc�T�t|��}|std���||_dS)Nz1MultiFernet requires at least one Fernet instance)�listr�_fernets)r#rxs  rr%zMultiFernet.__init__�s7���w�-�-���	��C���
� ��
�
�
r�msgr&c�j�|�|ttj������Sr/r0)r#r|s  rr4zMultiFernet.encrypt�s&���#�#�C��T�Y�[�[�)9�)9�:�:�:rr5c�D�|jd�||��S)Nr)r{r1)r#r|r5s   rr1zMultiFernet.encrypt_at_time�s���}�Q��/�/��\�B�B�Brc��t�|��\}}|jD]+}	|�||d��}n#t$rY�(wxYwt�tjd��}|jd�|||��S)Nrr)rrRr{rSrr)r*r7)r#r|rTr-�f�pr8s       r�rotatezMultiFernet.rotate�s��� �;�;�C�@�@��	�4���	�	�A�
��O�O�D�)�T�:�:������
�
�
���
������
�Z��^�^���}�Q��3�3�A�y�"�E�E�Es�A�
A�
ANrPc�t�|jD]*}	|�||��cS#t$rY�'wxYwt�r/)r{rVr)r#r|rPr�s    rrVzMultiFernet.decrypt�sZ����	�	�A�
��y�y��c�*�*�*�*�*���
�
�
���
�����s�#�
0�0c�v�|jD]+}	|�|||��cS#t$rY�(wxYwt�r/)r{rXr)r#r|rPr5r�s     rrXzMultiFernet.decrypt_at_time�s^����	�	�A�
��(�(��c�<�@�@�@�@�@���
�
�
���
�����s�$�
1�1r/)r
rrro�Iterablerr%rbr4r2r1rprar�rsrVrXrrrrwrw�sD������ ���� 7� � � � �;�5�;�U�;�;�;�;�C�5�C��C��C�C�C�C�F�&�,�u�c�z�2�F�u�F�F�F�F�JN����<��s�
�+��28�/�#�2F��	�������<��s�
�+��25��EH��	������rrw)rrr)r3ro�cryptographyr�cryptography.exceptionsr�cryptography.hazmat.primitivesrr�&cryptography.hazmat.primitives.ciphersrrr	�#cryptography.hazmat.primitives.hmacr
�	Exceptionrrjrrwrrr�<module>r�s4���
�
�
�����	�	�	�	�����
�
�
�
�������4�4�4�4�4�4�:�:�:�:�:�:�:�:�L�L�L�L�L�L�L�L�L�L�4�4�4�4�4�4�	�	�	�	�	�9�	�	�	���P�P�P�P�P�P�P�P�f/�/�/�/�/�/�/�/�/�/r