public void TestProtectVerifyIntegrity() { var key = "eda8506c1fb0bbcc3f62626fef074bbf2d09a8c7c608f3fa1482c9a625d00f75".ToByteArray(); var message = Encoding.ASCII.GetBytes("hoy, how are you?"); var plaintextAndTag = Symmetric.ProtectIntegrity(key, message); var retrievedMessage = Symmetric.VerifyIntegrity(key, plaintextAndTag); if (!message.SequenceEqual(retrievedMessage)) { throw new Exception("Verify did not work"); } // Tamper plaintextAndTag[plaintextAndTag.Length - 1] ^= 1; bool tamperDetected; try { Symmetric.VerifyIntegrity(key, plaintextAndTag); tamperDetected = false; } catch (Exception) { tamperDetected = true; } if (!tamperDetected) { throw new Exception("Verify did not work"); } }