X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=version2%2Fsrc%2FC%2FMac.cpp;fp=version2%2Fsrc%2FC%2FMac.cpp;h=aec7455f153b9ef0b37de482a7f178b235ef00f1;hb=786e40250f31eff04eec25bbcaae3cd916fedb14;hp=0000000000000000000000000000000000000000;hpb=3f24bffc82ebfe2730308b63100af08645316577;p=iotcloud.git diff --git a/version2/src/C/Mac.cpp b/version2/src/C/Mac.cpp new file mode 100644 index 0000000..aec7455 --- /dev/null +++ b/version2/src/C/Mac.cpp @@ -0,0 +1,20 @@ +#include "Mac.h" +#include "Crypto.h" + +Mac::Mac() { +} + +void Mac::update(Array *array, int32_t offset, int32_t len) { + sha2_hmac_update(&ctx, (const unsigned char *) &array->internalArray()[offset], len); +} + +Array *Mac::doFinal() { + Array *hmac = new Array(32); + sha2_hmac_finish(&ctx, (unsigned char *) hmac->internalArray()); + sha2_hmac_reset(&ctx); + return hmac; +} + +void Mac::init(AESKey *key) { + sha2_hmac_starts(&ctx, (const unsigned char *) key->getKey()->internalArray(), key->getKey()->length(), false); +}