| Server IP : 217.160.0.135 / Your IP : 216.73.217.85 Web Server : Apache System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64 User : sws1074145052 ( 1074145052) PHP Version : 8.3.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /lib/python3/dist-packages/Cryptodome/Hash/__pycache__/ |
Upload File : |
�
8�tc� � � � d Z ddlmZ ddlmZmZmZmZmZm Z m
Z
edd� � Z G d� de� � Z
d
d �Ze
j Ze
j ZdS )a�
MD4 is specified in RFC1320_ and produces the 128 bit digest of a message.
>>> from Cryptodome.Hash import MD4
>>>
>>> h = MD4.new()
>>> h.update(b'Hello')
>>> print h.hexdigest()
MD4 stand for Message Digest version 4, and it was invented by Rivest in 1990.
This algorithm is insecure. Do not use it for new designs.
.. _RFC1320: http://tools.ietf.org/html/rfc1320
� ��bord)�load_pycryptodome_raw_lib�VoidPointer�SmartPointer�create_string_buffer�get_raw_buffer�c_size_t�c_uint8_ptrzCryptodome.Hash._MD4a�
int md4_init(void **shaState);
int md4_destroy(void *shaState);
int md4_update(void *hs,
const uint8_t *buf,
size_t len);
int md4_digest(const void *shaState,
uint8_t digest[20]);
int md4_copy(const void *src, void *dst);
c �F � e Zd ZdZdZdZdZdd�Zd� Zd� Z d � Z
d
� Zdd�ZdS )
�MD4Hashz&Class that implements an MD4 hash
� �@ z1.2.840.113549.2.4Nc �6 � t � � }t � |� � � � � }|rt d|z � � �t |� � � t j � � | _ |r| � |� � d S d S )N� Error %d while instantiating MD4)
r �_raw_md4_lib�md4_init�
address_of�
ValueErrorr �get�md4_destroy�_state�update)�self�data�state�results �5/usr/lib/python3/dist-packages/Cryptodome/Hash/MD4.py�__init__zMD4Hash.__init__O s� � ��
�
���&�&�u�'7�'7�'9�'9�:�:��� '��?�%�&� '� '�
'�"�5�9�9�;�;�#/�#;�=� =���� ��K�K������� � � c �� � t � | j � � � t |� � t t
|� � � � � � }|rt d|z � � �dS )a� Continue hashing of a message by consuming the next chunk of data.
Repeated calls are equivalent to a single call with the concatenation
of all the arguments. In other words:
>>> m.update(a); m.update(b)
is equivalent to:
>>> m.update(a+b)
:Parameters:
data : byte string/byte array/memoryview
The next chunk of the message being hashed.
r N)r �
md4_updater r r r
�lenr )r r r s r r zMD4Hash.updateZ st � �"