Пример #1
0
        public void DataProtection()
        {
            ProtectedBinary bin = new ProtectedBinary(ExpectedBytes, true);

            Assert.IsFalse(bin.GetRawData().SequenceEqual(ExpectedBytes), "Raw data should not be the same as clear data");
            Assert.IsTrue(bin.GetClearData().SequenceEqual(ExpectedBytes), "Clear data should be the same as original");

            // Do it again to ensure the cipher is re-seeded
            ProtectedBinary bin2 = new ProtectedBinary(ExpectedBytes, true);

            Assert.IsFalse(bin.GetRawData().SequenceEqual(bin2.GetRawData()), "Raw data should differ binary-to-binary");
            Assert.IsTrue(bin2.GetClearData().SequenceEqual(ExpectedBytes), "Clear data should be the same as original, second time");

            ProtectedBinary clearBin = new ProtectedBinary(ExpectedBytes, false);

            Assert.IsTrue(clearBin.GetRawData().SequenceEqual(ExpectedBytes), "Unencrypted data should be exposed as-is");
            Assert.IsTrue(clearBin.GetClearData().SequenceEqual(ExpectedBytes), "Unencrypted data should not be encrypted accidentally");
        }