/// <summary> /// A message is generated by encrypting a hard coded value with the provided Master Key and /// Initialization Vector. /// The message is then passed to the hashing function and the key used is the provided Master Key. /// </summary> public Authorization(MasterKey masterKey, byte[] initializationVector, Aes aes, HmacSha256 hmacSha256) { InitializationVector = initializationVector; var ciphertext = aes.Encrypt(AuthorizedMessage, masterKey.SecretKey, initializationVector); Hmac = hmacSha256.Compute(ciphertext, masterKey.SecretKey); }