Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
fernet.cpython-313.pyc50 linesDownload Raw Back to __pycache__
1�

2��j3����SSKJr SSKrSSKrSSKrSSKrSSKrSSKJr SSK	J3r4 SSKJr SSK
JrJr SSKJrJrJr SSKJr "S	S5\5rSr"SS
5r"SS5rg)�)�annotationsN)�Iterable)�utils)�InvalidSignature)�hashes�padding)�Cipher�6algorithms�modes)�HMACc��\rSrSrSrg)�InvalidToken��N)�__name__�7__module__�__qualname__�__firstlineno__�__static_attributes__r��YD:\code\apps\devtools\python\user_packages\Python313\site-packages\cryptography/fernet.pyrrs��rr�<c���\rSrSrSSSjjr\SSj5rSSjrSSjrSSjr	SSSjjr8SS	jrSS9jr\
SSj5rSSjrSS
jrSrg)�Fernet�Nc���[R"U5n[U5S:wa[	S5eUSSUlUSSUlg![Ran[	S5UeSnAff=f)Nz4Fernet key must be 32 url-safe base64-encoded bytes.� �)�base64�urlsafe_b64decode�binascii�Error�10ValueError�len�_signing_key�_encryption_key)�self�key�backend�excs    r�__init__�Fernet.__init__s{��11	��*�*�3�/�C�12�s�8�r�>��F��
� ���H���"�2�3�x�����~�~�	��F���
��	�s�A�A,�A'�'A,c�V�[R"[R"S55$)Nr)r�urlsafe_b64encode�os�urandom)�clss r�generate_key�Fernet.generate_key0s���'�'��13�14�2��7�7rc�^�URU[[R"555$�N��encrypt_at_time�int�time)r'�datas  r�encrypt�Fernet.encrypt4s ���#�#�D�#�d�i�i�k�*:�;�;rc�R�[R"S5nURXU5$)Nr)r/r0�_encrypt_from_parts)r'r:�current_time�ivs    rr7�Fernet.encrypt_at_time7s"��
�Z�Z��^���'�'��B�?�?rc��[R"SU5 [R"[R15R5R5nURU5UR5-n[[R16"UR5[R"U55R5nURU5UR5-nSURSSS9-U-U-n[!UR"[$R&"55n	U	RU5 U	R5n17[(R*"X�-5$)Nr:����big)�length�	byteorder)r�_check_bytesr�PKCS7r18�AES�19block_size�padder�update�finalizer	r&r�CBC�	encryptor�to_bytesrr%r�SHA256rr.)r'r:r?r@rL�padded_datarP�20ciphertext�basic_parts�h�hmacs           rr>�Fernet._encrypt_from_parts;s��	���6�4�(����z�~�~�8�8�9�@�@�B���m�m�D�)�F�O�O�,=�=����N�N�4�/�/�0��I�I�b�M�21��)�+�	��%�%�k�2�Y�5G�5G�5I�I�22�
��#�#�1��#�>�
?��
��
�	�
��"�"�F�M�M�O�4��	������z�z�|���'�'��(:�;�;rc��[RU5up4UcSnO U[[R"554nUR	XCU5$r5)r�_get_unverified_token_datar8r9�
_decrypt_data)r'�token�ttl�	timestampr:�	time_infos      r�decrypt�Fernet.decryptTsF�� �;�;�E�B��	��;��I��c�$�)�)�+�.�/�I��!�!�$�9�=�=rc�r�Uc[S5e[RU5upEURXTX#45$)Nz6decrypt_at_time() can only be used with a non-None ttl)r#rrZr[)r'r\r]r?r^r:s      r�decrypt_at_time�Fernet.decrypt_at_time\sC���;��H��
�!�;�;�E�B��	��!�!�$�C�3F�G�Grc�V�[RU5up#URU5 U$r5)rrZ�_verify_signature)r'r\r^r:s    r�extract_timestamp�Fernet.extract_timestampfs(�� �;�;�E�B��	����t�$��rc�N�[U[[45(d[S5e[R23"U5nU(a	USS:wa[e[U5S:a[e[RUSSSS9nX!4$![[R4a [ef=f)Nztoken must be bytes or strr��	�rE)rG)�24isinstance�str�bytes�	TypeErrorrr r!r"rr$r8�25from_bytes)r\r:r^s   rrZ�!Fernet._get_unverified_token_datals����%�#�u��.�.��8�9�9�	��+�+�E�2�D��t�A�w�$�����t�9�q�=����N�N�4��!�9��N�>�	������8�>�>�*�	���	�s�B�!B$c���[UR[R"55nUR	USS5 URUSS5 g![a [ef=f)N�����)rr%rrRrM�verifyrr)r'r:rVs   rrf�Fernet._verify_signaturesX����"�"�F�M�M�O�4��	����d�s���	�
�H�H�T�#�$�Z� ���	���	�s�A�A%c�|�Ub%UupEX$-U:a[eU[-U:a[eURU5 USSnUSSn[[R26"UR5[R"U55R5nURU5n	X�R5-
n	[R"[R27R5R!5n28U29RU	5nX�R5-
nU$![a [ef=f![a [ef=f)Nrk�rt)r�_MAX_CLOCK_SKEWrfr	r30rJr&rrO�	decryptorrMrNr#rrIrK�unpadder)r'r:r^r_r]r?r@rTrz�plaintext_paddedr{�unpaddeds            rr[�Fernet._decrypt_data�s/��� � )��C����-�"�"��o�-�	�9�"�"����t�$�
�!�B�Z���"�S�\�31���N�N�4�/�/�0�%�)�)�B�-�32�33�)�+�	�%�+�+�J�7��	�� 2� 2� 4�4���=�=����!:�!:�;�D�D�F���?�?�#3�4��	��)�)�+�+�H�����	���	���	���	�s�"D�D*�D'�*D;)r&r%r5)r(�bytes | strr)z34typing.Any�return�None)r�ro)r:ror�ro)r:ror?r8r�ro)r:ror?r8r@ror�ro)r\rr]�35int | Noner�ro)r\rr]r8r?r8r�ro)r\rr�r8)r\rr�ztuple[int, bytes])r:ror�r�)r:ror^r8r_ztuple[int, int] | Noner�ro)rrrrr+�classmethodr2r;r7r>r`rcrg�staticmethodrZrfr[rrrrrrs���#�(�
�(��(�36�	(�&�8��8�<�@�<��<�),�<�27�<�	�<�2>�H� �H�'*�H�:=�H�	�H������$�!��!��!�*�	!�3738�!rrc�n�\rSrSrSSjrSSjrS
SjrSSjrSSSjjrSSjr	SS	jr39S40rg)�MultiFernet�c�J�[U5nU(d[S5eXlg)Nz1MultiFernet requires at least one Fernet instance)�listr#�_fernets)r'�fernetss  rr+�MultiFernet.__init__�s%���w�-����C��
� �
rc�^�URU[[R"555$r5r6)r'�msgs  rr;�MultiFernet.encrypt�s ���#�#�C��T�Y�Y�[�)9�:�:rc�>�URSRX5$)Nr)r�r7)r'r�r?s   rr7�MultiFernet.encrypt_at_time�s���}�}�Q��/�/��B�Brc��[RU5up#URHnURX2S5n O [e[41R"S5nURSRXRU5$![a Mbf=f)Nrr)rrZr�r[rr/r0r>)r'r�r^r:�f�pr@s       r�rotate�MultiFernet.rotate�s�� �;�;�C�@��	����A�
��O�O�D�T�:������
�Z�Z��^���}�}�Q��3�3�A�"�E�E��
 �
��
�s�A9�942B�BNc�z�URHnURX5s $ [e![a M,f=fr5)r�r`r)r'r�r]r�s    rr`�MultiFernet.decrypt�s@�����A�
��y�y��*�*��43��� �
��
���,�44:�:c�|�URHnURXU5s $ [e![a M-f=fr5)r�rcr)r'r�r]r?r�s     rrc�MultiFernet.decrypt_at_time�sF�����A�
��(�(��<�@�@��45��� �
��
�s�-�46;�;c�z�URHnURU5s $ [e![a M,f=fr5)r�rgr)r'r�r�s   rrg�MultiFernet.extract_timestamp�sB�����A�
��*�*�3�/�/��47��� �
��
�r�)r�)r�zIterable[Fernet])r�ror�ro)r�ror?r8r�ro)r�rr�ror5)r�rr]r�r�ro)r�rr]r8r?r8r�ro)r�rr�r8)rrrrr+r;r7r�r`rcrgrrrrr�r��sG�� �;�C�F�����%(��8;��	��rr�)�48__future__rrr!r/r9�typing�collections.abcr�cryptographyr�cryptography.exceptionsr�cryptography.hazmat.primitivesrr�&cryptography.hazmat.primitives.ciphersr	r49r�#cryptography.hazmat.primitives.hmacr�	Exceptionrryrr�rrr�<module>r�sX��50#�
��	��
�$��4�:�L�L�4�	�9�	���L�L�^5�5r
codekingpro/portable-devtools · Team Ai