/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* sl_sha256.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: bchanot +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/09/24 00:11:06 by bchanot #+# #+# */ /* Updated: 2018/10/08 21:23:37 by bchanot ### ########.fr */ /* */ /* ************************************************************************** */ #include "ft_ssl.h" #include "sl_md5.h" #include "sl_sha2.h" #include "sl_sha3_5.h" void sl_md5(const char *str) { t_uint8 hash[16]; t_md5 ctx; size_t i; sl_md5_init(&ctx); sl_md5_update(&ctx, (const t_uint8 *)str, ft_strlen(str)); sl_md5_final(&ctx, hash); i = -1; while (++i < 16) ft_printf(1, "%02x", hash[i]); } void sl_sha224(const char *str) { t_uint8 hash[28]; t_sha2 ctx; size_t i; ft_bzero(&ctx, sizeof(t_sha2)); sl_sha2_init(&ctx, SHA224); sl_sha2_update(&ctx, (const t_uint8 *)str, ft_strlen(str)); sl_sha2_final(&ctx); sl_sha2_get_hash(&ctx, hash); i = -1; while (++i < 28) ft_printf(1, "%02x", hash[i]); } void sl_sha256(const char *str) { t_uint8 hash[32]; t_sha2 ctx; size_t i; ft_bzero(&ctx, sizeof(t_sha2)); sl_sha2_init(&ctx, SHA256); sl_sha2_update(&ctx, (const t_uint8 *)str, ft_strlen(str)); sl_sha2_final(&ctx); sl_sha2_get_hash(&ctx, hash); i = -1; while (++i < 32) ft_printf(1, "%02x", hash[i]); } void sl_sha384(const char *str) { t_uint8 hash[48]; t_sha3_5 ctx; size_t i; ft_bzero(&ctx, sizeof(t_sha3_5)); sl_sha3_5_init(&ctx, SHA384); sl_sha3_5_update(&ctx, (const t_uint8 *)str, ft_strlen(str)); sl_sha3_5_final(&ctx); sl_sha3_5_get_hash(&ctx, hash); i = -1; while (++i < 48) ft_printf(1, "%02x", hash[i]); } void sl_sha512(const char *str) { t_uint8 hash[64]; t_sha3_5 ctx; size_t i; ft_bzero(&ctx, sizeof(t_sha3_5)); sl_sha3_5_init(&ctx, SHA512); sl_sha3_5_update(&ctx, (const t_uint8 *)str, ft_strlen(str)); sl_sha3_5_final(&ctx); sl_sha3_5_get_hash(&ctx, hash); i = -1; while (++i < 64) ft_printf(1, "%02x", hash[i]); }