sha1 -> sha256, added HMAC