public void DeserializeTheSameAsSqlServer(Guid plaintext) { Database.Insert(new SqlParameter("@parameter", SqlDbType.UniqueIdentifier) { Value = plaintext }); byte[] ciphertextBytes = Database.SelectCiphertext(SqlDbType.UniqueIdentifier); byte[] plaintextBytes = deterministicEncryptionAlgorithm.Decrypt(ciphertextBytes); SqlUniqueidentifierSerializer serializer = new SqlUniqueidentifierSerializer(); Guid expectedPlaintext = serializer.Deserialize(plaintextBytes); Guid actualPlaintext = (Guid)Database.SelectPlaintext(SqlDbType.UniqueIdentifier); Assert.Equal(expectedPlaintext, actualPlaintext); }
public void SerializeTheSameAsSqlServer(Guid plaintext) { SqlUniqueidentifierSerializer serializer = new SqlUniqueidentifierSerializer(); byte[] serializedPlaintext = serializer.Serialize(plaintext); byte[] expectedCiphertext = deterministicEncryptionAlgorithm.Encrypt(serializedPlaintext); Database.Insert(new SqlParameter("@parameter", SqlDbType.UniqueIdentifier) { Value = plaintext }); byte[] actualCiphertext = Database.SelectCiphertext(SqlDbType.UniqueIdentifier); Assert.Equal(expectedCiphertext, actualCiphertext); }
public void ShouldThrowIfDeserializingLessThanSixteenBytes(byte[] data) { SqlUniqueidentifierSerializer serializer = new SqlUniqueidentifierSerializer(); Assert.Throws <ArgumentOutOfRangeException>(() => serializer.Deserialize(data)); }
public void ShouldThrowIfDeserializingNull() { SqlUniqueidentifierSerializer serializer = new SqlUniqueidentifierSerializer(); Assert.Throws <ArgumentNullException>(() => serializer.Deserialize(null)); }