public void CanDecryptData() { byte[] userData = { 0, 1, 2, 3, 4, 1, 2, 3, 4 }; byte[] cipherData = ProtectedData.Protect(userData, null, DataProtectionScope.CurrentUser); DataProtectionCryptographyService svc = new DataProtectionCryptographyService(); byte[] restored = svc.DecryptSymmetric(cipherData); Assert.AreEqual(9, restored.Length, "Restored data is not correct."); for (int i = 0; i < userData.Length; i++) { Assert.AreEqual(userData[i], restored[i], "The decryption failed."); } }
public void DecryptUsingEntropy() { byte[] userData = { 0, 1, 2, 3, 4, 1, 2, 3, 4 }; byte[] entropy = { 1, 2, 3, 4 }; NameValueCollection settings = new NameValueCollection(); settings["Entropy"] = Convert.ToBase64String(entropy); DataProtectionCryptographyService svc = new DataProtectionCryptographyService(); svc.Configure(settings); byte[] cipherData = ProtectedData.Protect(userData, entropy, DataProtectionScope.CurrentUser); byte[] recovered = svc.DecryptSymmetric(cipherData); Assert.AreEqual(Convert.ToBase64String(userData), Convert.ToBase64String(recovered)); }
public void DecryptFailsIfNullData() { DataProtectionCryptographyService svc = new DataProtectionCryptographyService(); svc.DecryptSymmetric(null); }