public bool IsValidHmac(SessionIdentificationData sessionIdentificationData) {
      if (sessionIdentificationData == null) throw new ArgumentNullException("sessionIdentificationData");
      if (sessionIdentificationData.Hmac == null) return false;

      var incomingBytes = sessionIdentificationData.Hmac;
      var expectedHmac = _hmacProvider.GenerateHmac(sessionIdentificationData.SessionId);
      return HmacComparer.Compare(expectedHmac, incomingBytes, _hmacProvider.HmacLength);
    }
 public SessionIdentificationDataFixture() {
   _sessionIdentificationData = new SessionIdentificationData {SessionId = "TheSessionId", Hmac = new byte[] {211, 81, 204, 0, 47, 124}};
   _hmacString = "01HMAC98";
 }
 public HmacValidatorFixture() {
   _fakeHmacProvider = A.Fake<IHmacProvider>();
   _hmacValidator = new HmacValidator(_fakeHmacProvider);
   _hmac = new byte[] {1, 2, 3};
   _sessionIdentificationData = new SessionIdentificationData {SessionId = "TheSessionId", Hmac = _hmac};
 }