void decryptAnyEncryptedValues(Dictionary<string, Dictionary<string, object>> settings)
{
foreach (var kvp in settings)
{
string settingsKey = kvp.Key;
var objectCollection = kvp.Value;
foreach (string key in new List<string>(objectCollection.Keys))
{
if (IsEncrypted(key) || IsEncrypted(settingsKey))
{
string value = objectCollection[key] as string;
if (value != null)
{
try
{
objectCollection[key] = UserCrypto.Decrypt(value);
}
catch (Exception e)
{
objectCollection.Remove(key);
var logger = Logger.GetLogger(typeof(PersistenceManager));
logger.Error(e, "Exception decrypting value for key {0}/{1}", settingsKey, key);
}
}
}
}
}
}