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); } } } } } }
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 { objectCollection.Remove(key); } } } } } }
internal void WriteToJson(JsonWriter writer) { writer.WriteObjectStart(); foreach (var kvp in this._values) { string value = kvp.Value as string; if (value == null) { continue; } writer.WritePropertyName(kvp.Key); if (PersistenceManager.IsEncrypted(kvp.Key) || PersistenceManager.IsEncrypted(this._uniqueKey)) { value = UserCrypto.Encrypt(value); } writer.Write(value); } writer.WriteObjectEnd(); }