From 78435fb42131ccc5d823617157d21f1f269992a3 Mon Sep 17 00:00:00 2001 From: Jakub Sztandera Date: Sat, 30 Jul 2016 11:39:26 +0100 Subject: [PATCH] add blake lengths --- include/mh/hashes.h | 3 +++ src/hashes.c | 10 +++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/include/mh/hashes.h b/include/mh/hashes.h index e805442..cd849bf 100644 --- a/include/mh/hashes.h +++ b/include/mh/hashes.h @@ -18,6 +18,9 @@ typedef enum { MH_H_COUNT // number of hash functions } mh_hash; +// returns length in bytes or if returns is < 0 it is an error +int mh_hash_default_length(mh_hash hash); + int mh_hash_length(const unsigned char multihash[], int len, int *hash_length); int mh_hash_function(const unsigned char multihash[], int len, mh_hash *hash); diff --git a/src/hashes.c b/src/hashes.c index a42768e..48bcf47 100644 --- a/src/hashes.c +++ b/src/hashes.c @@ -1,5 +1,6 @@ /* vim: set ts=8 sw=8 noexpandtab: */ #include "mh/hashes.h" +#include "mh/errors.h" static const int hash_lengths[] = { @@ -12,17 +13,16 @@ static const int hash_lengths[] = { 28, // sha3-224 16, // shake-128 32, // shake-256 - // TODO(Kubuxu): implement blake lengths + 64, // blake2b + 32, // blake2s }; int mh_hash_default_length(mh_hash hash) { - if (hash > MH_H_SHAKE_256) - return -2; // TODO(Kubuxu): remove it after blake is implemented if (hash < 0 || hash >= MH_H_COUNT) - return -1; + return MH_; - return hash_lengths[0]; + return hash_lengths[hash]; }