diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-07-27 18:01:29 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-07-27 18:01:29 -0400 |
| commit | 063675bb07f78f99738a3ada061f3e2c16c9cda0 (patch) | |
| tree | f544ea1e036d7de72fa4a62114e82666f31e2868 /MediaBrowser.Server.Implementations/Security/EncryptionManager.cs | |
| parent | 37c27a26e90b7eff62cec9e2b6a6c003e79fcbe4 (diff) | |
updated nuget
Diffstat (limited to 'MediaBrowser.Server.Implementations/Security/EncryptionManager.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Security/EncryptionManager.cs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/MediaBrowser.Server.Implementations/Security/EncryptionManager.cs b/MediaBrowser.Server.Implementations/Security/EncryptionManager.cs index 73a4e3004..33818dcea 100644 --- a/MediaBrowser.Server.Implementations/Security/EncryptionManager.cs +++ b/MediaBrowser.Server.Implementations/Security/EncryptionManager.cs @@ -17,6 +17,10 @@ namespace MediaBrowser.Server.Implementations.Security { if (value == null) throw new ArgumentNullException("value"); +#if __MonoCS__ + return EncryptStringUniversal(value); +#endif + return Encoding.Default.GetString(ProtectedData.Protect(Encoding.Default.GetBytes(value), null, DataProtectionScope.LocalMachine)); } @@ -30,7 +34,27 @@ namespace MediaBrowser.Server.Implementations.Security { if (value == null) throw new ArgumentNullException("value"); +#if __MonoCS__ + return DecryptStringUniversal(value); +#endif + return Encoding.Default.GetString(ProtectedData.Unprotect(Encoding.Default.GetBytes(value), null, DataProtectionScope.LocalMachine)); } + + private string EncryptStringUniversal(string value) + { + // Yes, this isn't good, but ProtectedData in mono is throwing exceptions, so use this for now + + var bytes = Encoding.UTF8.GetBytes(value); + return Convert.ToBase64String(bytes); + } + + private string DecryptStringUniversal(string value) + { + // Yes, this isn't good, but ProtectedData in mono is throwing exceptions, so use this for now + + var bytes = Convert.FromBase64String(value); + return Encoding.UTF8.GetString(bytes); + } } } |
