Implemented hasher based on AF_ALG

This commit is contained in:
Martin Willi
2010-12-20 09:52:02 +01:00
parent fd67d39e93
commit 6f08911321
4 changed files with 285 additions and 2 deletions
@@ -17,6 +17,8 @@
#include <library.h>
#include "af_alg_hasher.h"
typedef struct private_af_alg_plugin_t private_af_alg_plugin_t;
/**
@@ -33,6 +35,9 @@ struct private_af_alg_plugin_t {
METHOD(plugin_t, destroy, void,
private_af_alg_plugin_t *this)
{
lib->crypto->remove_hasher(lib->crypto,
(hasher_constructor_t)af_alg_hasher_create);
free(this);
}
@@ -51,5 +56,20 @@ plugin_t *af_alg_plugin_create()
},
);
lib->crypto->add_hasher(lib->crypto, HASH_SHA1,
(hasher_constructor_t)af_alg_hasher_create);
lib->crypto->add_hasher(lib->crypto, HASH_SHA224,
(hasher_constructor_t)af_alg_hasher_create);
lib->crypto->add_hasher(lib->crypto, HASH_SHA256,
(hasher_constructor_t)af_alg_hasher_create);
lib->crypto->add_hasher(lib->crypto, HASH_SHA384,
(hasher_constructor_t)af_alg_hasher_create);
lib->crypto->add_hasher(lib->crypto, HASH_SHA512,
(hasher_constructor_t)af_alg_hasher_create);
lib->crypto->add_hasher(lib->crypto, HASH_MD5,
(hasher_constructor_t)af_alg_hasher_create);
lib->crypto->add_hasher(lib->crypto, HASH_MD4,
(hasher_constructor_t)af_alg_hasher_create);
return &this->public.plugin;
}