How to save the SHA256 with HMAC into a variable instead of serial print? #include "sha256.h"

uint8_t hmacKey1[]={
0x65,0x63,0x73,0x74,0x61,0x63,0x79
};


void printHash(uint8_t* hash) {
int i;
 for (i=0; i&lt;32; i++) {
   Serial.print("0123456789abcdef"[hash[i]&gt;&gt;4]);
   Serial.print("0123456789abcdef"[hash[i]&amp;0xf]);
  }
 Serial.println();
}

void setup() {
   uint8_t* hash;
   uint32_t a;

 Serial.begin(9600);

 // HMAC tests
  Serial.println("Test: RFC4231 4.2");

Serial.print("Result:");
Sha256.initHmac(hmacKey1,20);
Sha256.print("Hi There");
 //My TRIAL ATTEMPT
 int i;
 for (i=0; i&lt;32; i++) {
 hash[i] =Sha256.resultHmac();
 Serial.println(hash[i]);
 }
}


How do I save the hashed result into a variable? I disregarded the Printhash function above and tried it with my own code but it displays 

 sketch_feb14a:32: error: invalid conversion from 'uint8_t*' to 'unsigned char'


I don't understand the printhash function above and found little to no documentation on the web. I'm thinking of using AES library but I guess it's more complicated over here. The above code is based on Spaniako's CryptoSuite here

Heading
My solution was making a new function that returns a String with the hash

String GetHash256(uint8_t* hash) {
    char tmp[16];
    String sHash256 = "";

    int i;
    for (i=0; i&lt;32; i++) {
        sprintf(tmp, "%.2X",hash[i]);
        sHash256.concat(tmp);
    }

    return sHash256 ;
}