HMAC initial implementation; Need to test;