+#include "blake2.h"
+
+int zpm_hash_mem(void *mem, size_t size, char *hash) {
+ struct blake2b_state__ blake;
+ int j;
+ unsigned char tmp[32];
+
+ blake2b_init(&blake, sizeof tmp);
+ blake2b_update(&blake, mem, size);
+ blake2b_final(&blake, tmp, sizeof tmp);
+ for (j=0;j<32;j++) {
+ sprintf(hash+j*2, "%02x", (unsigned)tmp[j]);
+ }
+ return 1;
+}