From cbd3905f01dcc1e884d778be9437012b93fe317a Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Sat, 1 Aug 2020 19:32:51 +0200 Subject: Refactoring md5 to generalize message digest --- inc/ft_ssl.h | 39 +++++++++++++++++++++++++++++++++++++-- inc/ft_ssl_md5.h | 25 ------------------------- 2 files changed, 37 insertions(+), 27 deletions(-) delete mode 100644 inc/ft_ssl_md5.h (limited to 'inc') diff --git a/inc/ft_ssl.h b/inc/ft_ssl.h index f3e3595..c88e7c3 100644 --- a/inc/ft_ssl.h +++ b/inc/ft_ssl.h @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/03 20:27:19 by cacharle #+# #+# */ -/* Updated: 2020/07/27 21:38:12 by charles ### ########.fr */ +/* Updated: 2020/08/01 19:24:12 by charles ### ########.fr */ /* */ /* ************************************************************************** */ #include @@ -14,9 +14,29 @@ #ifndef FT_SSL_H # define FT_SSL_H +# include + # include "libft.h" -# include "ft_ssl_md5.h" +typedef void *(*t_compression_func)(void *state, uint8_t *chunk); + +typedef struct +{ + t_compression_func compression_func; + void *compression_state; + size_t compression_state_size; + size_t chunk_size; + uint8_t *message; + uint64_t size; +} t_message_digest_param; + +void *md5_compression_func(void *v_state, uint8_t *chunk); +char *message_digest(t_message_digest_param *param); + +#define MD5_A_INIT 0x67452301 +#define MD5_B_INIT 0xefcdab89 +#define MD5_C_INIT 0x98badcfe +#define MD5_D_INIT 0x10325476 // # include "ft_ssl_md5.h" // # include "ft_ssl_sha256.h" @@ -50,4 +70,19 @@ typedef char *(*t_func_hash)(char *message); // int parse_args(char *name, int argc, char **argv, t_func_hash func_hash); + +/* +** utils.c +*/ + +uint32_t rotate_left(uint32_t x, int s); +uint32_t rotate_right(uint32_t x, int s); +char *bytes_to_str(uint8_t *bytes, size_t size); + +/* +** md5 +*/ + +char *message_digest_md5(uint8_t *msg, size_t size); + #endif diff --git a/inc/ft_ssl_md5.h b/inc/ft_ssl_md5.h deleted file mode 100644 index 22d0845..0000000 --- a/inc/ft_ssl_md5.h +++ /dev/null @@ -1,25 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_ssl_md5.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/22 07:14:45 by cacharle #+# #+# */ -/* Updated: 2020/07/27 16:36:41 by charles ### ########.fr */ -/* */ -/* ************************************************************************** */ -#include - -#ifndef FT_SSL_MD5_H -# define FT_SSL_MD5_H - -# include -# include -# include - -# include "libft.h" - -char *message_digest_md5(uint8_t *msg, size_t size); - -#endif -- cgit