public void SymmetricKeyAlgorithmGetAsBytesTest() { // Arrange byte[] initialCounter1 = new byte[] { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff }; byte[] initialCounter2 = new byte[] { 0xf1, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff }; SettingsAES_CTR settingsAES_CTR1 = new SettingsAES_CTR(initialCounter1); SettingsAES_CTR settingsAES_CTR2 = new SettingsAES_CTR(initialCounter2); SymmetricKeyAlgorithm skaAES_CTR1 = new SymmetricKeyAlgorithm(SymmetricEncryptionAlgorithm.AES_CTR, 128, settingsAES_CTR1); SymmetricKeyAlgorithm skaAES_CTR2 = new SymmetricKeyAlgorithm(SymmetricEncryptionAlgorithm.AES_CTR, 128, settingsAES_CTR1); SymmetricKeyAlgorithm skaAES_CTR3 = new SymmetricKeyAlgorithm(SymmetricEncryptionAlgorithm.AES_CTR, 256, settingsAES_CTR1); SymmetricKeyAlgorithm skaAES_CTR4 = new SymmetricKeyAlgorithm(SymmetricEncryptionAlgorithm.AES_CTR, 128, settingsAES_CTR2); // Act byte[] skaAES_CTR1bytes = skaAES_CTR1.GetSettingsAsBytes(); byte[] skaAES_CTR2bytes = skaAES_CTR2.GetSettingsAsBytes(); byte[] skaAES_CTR3bytes = skaAES_CTR3.GetSettingsAsBytes(); byte[] skaAES_CTR4bytes = skaAES_CTR4.GetSettingsAsBytes(); // Assert Assert.IsNotNull(skaAES_CTR1bytes); Assert.IsNotNull(skaAES_CTR2bytes); Assert.IsNotNull(skaAES_CTR3bytes); Assert.IsNotNull(skaAES_CTR4bytes); CollectionAssert.AreEqual(skaAES_CTR1bytes, skaAES_CTR2bytes); CollectionAssert.AreNotEqual(skaAES_CTR1bytes, skaAES_CTR3bytes); CollectionAssert.AreNotEqual(skaAES_CTR1bytes, skaAES_CTR4bytes); }
public static bool AreSymmetricKeyAlgorithmsEqual(SymmetricKeyAlgorithm symmetricKeyAlgorithm1, SymmetricKeyAlgorithm symmetricKeyAlgorithm2) { return(StructuralComparisons.StructuralEqualityComparer.Equals(symmetricKeyAlgorithm1.GetSettingsAsBytes(), symmetricKeyAlgorithm2.GetSettingsAsBytes())); }