Remove IEncryptionManager
This commit is contained in:
parent
6c6e9ca9f2
commit
a23f04623e
|
@ -739,10 +739,8 @@ namespace Emby.Server.Implementations
|
|||
TVSeriesManager = new TVSeriesManager(UserManager, UserDataManager, LibraryManager, ServerConfigurationManager);
|
||||
serviceCollection.AddSingleton(TVSeriesManager);
|
||||
|
||||
var encryptionManager = new EncryptionManager();
|
||||
serviceCollection.AddSingleton<IEncryptionManager>(encryptionManager);
|
||||
|
||||
DeviceManager = new DeviceManager(AuthenticationRepository, JsonSerializer, LibraryManager, LocalizationManager, UserManager, FileSystemManager, LibraryMonitor, ServerConfigurationManager);
|
||||
|
||||
serviceCollection.AddSingleton(DeviceManager);
|
||||
|
||||
MediaSourceManager = new MediaSourceManager(ItemRepository, ApplicationPaths, LocalizationManager, UserManager, LibraryManager, LoggerFactory, JsonSerializer, FileSystemManager, UserDataManager, () => MediaEncoder);
|
||||
|
|
|
@ -1,57 +0,0 @@
|
|||
using System;
|
||||
using System.Text;
|
||||
using MediaBrowser.Controller.Security;
|
||||
|
||||
namespace Emby.Server.Implementations.Security
|
||||
{
|
||||
public class EncryptionManager : IEncryptionManager
|
||||
{
|
||||
/// <summary>
|
||||
/// Encrypts the string.
|
||||
/// </summary>
|
||||
/// <param name="value">The value.</param>
|
||||
/// <returns>System.String.</returns>
|
||||
/// <exception cref="ArgumentNullException">value</exception>
|
||||
public string EncryptString(string value)
|
||||
{
|
||||
if (value == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(value));
|
||||
}
|
||||
|
||||
return EncryptStringUniversal(value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Decrypts the string.
|
||||
/// </summary>
|
||||
/// <param name="value">The value.</param>
|
||||
/// <returns>System.String.</returns>
|
||||
/// <exception cref="ArgumentNullException">value</exception>
|
||||
public string DecryptString(string value)
|
||||
{
|
||||
if (value == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(value));
|
||||
}
|
||||
|
||||
return DecryptStringUniversal(value);
|
||||
}
|
||||
|
||||
private static 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 static 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, 0, bytes.Length);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
namespace MediaBrowser.Controller.Security
|
||||
{
|
||||
public interface IEncryptionManager
|
||||
{
|
||||
/// <summary>
|
||||
/// Encrypts the string.
|
||||
/// </summary>
|
||||
/// <param name="value">The value.</param>
|
||||
/// <returns>System.String.</returns>
|
||||
string EncryptString(string value);
|
||||
|
||||
/// <summary>
|
||||
/// Decrypts the string.
|
||||
/// </summary>
|
||||
/// <param name="value">The value.</param>
|
||||
/// <returns>System.String.</returns>
|
||||
string DecryptString(string value);
|
||||
}
|
||||
}
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using MediaBrowser.Common.Configuration;
|
||||
|
@ -29,17 +30,15 @@ namespace MediaBrowser.MediaEncoding.Subtitles
|
|||
private readonly CultureInfo _usCulture = new CultureInfo("en-US");
|
||||
|
||||
private readonly IServerConfigurationManager _config;
|
||||
private readonly IEncryptionManager _encryption;
|
||||
|
||||
private readonly IJsonSerializer _json;
|
||||
private readonly IFileSystem _fileSystem;
|
||||
|
||||
public OpenSubtitleDownloader(ILoggerFactory loggerFactory, IHttpClient httpClient, IServerConfigurationManager config, IEncryptionManager encryption, IJsonSerializer json, IFileSystem fileSystem)
|
||||
public OpenSubtitleDownloader(ILoggerFactory loggerFactory, IHttpClient httpClient, IServerConfigurationManager config, IJsonSerializer json, IFileSystem fileSystem)
|
||||
{
|
||||
_logger = loggerFactory.CreateLogger(GetType().Name);
|
||||
_httpClient = httpClient;
|
||||
_config = config;
|
||||
_encryption = encryption;
|
||||
_json = json;
|
||||
_fileSystem = fileSystem;
|
||||
|
||||
|
@ -63,16 +62,17 @@ namespace MediaBrowser.MediaEncoding.Subtitles
|
|||
!string.IsNullOrWhiteSpace(options.OpenSubtitlesPasswordHash) &&
|
||||
!options.OpenSubtitlesPasswordHash.StartsWith(PasswordHashPrefix, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
options.OpenSubtitlesPasswordHash = EncryptPassword(options.OpenSubtitlesPasswordHash);
|
||||
options.OpenSubtitlesPasswordHash = ToBase64EncodedString(options.OpenSubtitlesPasswordHash);
|
||||
}
|
||||
}
|
||||
|
||||
private string EncryptPassword(string password)
|
||||
private static string ToBase64EncodedString(string password)
|
||||
{
|
||||
return PasswordHashPrefix + _encryption.EncryptString(password);
|
||||
var bytes = Encoding.UTF8.GetBytes(password);
|
||||
return PasswordHashPrefix + bytes;
|
||||
}
|
||||
|
||||
private string DecryptPassword(string password)
|
||||
private static string DecodeBase64EncodedString(string password)
|
||||
{
|
||||
if (password == null ||
|
||||
!password.StartsWith(PasswordHashPrefix, StringComparison.OrdinalIgnoreCase))
|
||||
|
@ -80,7 +80,8 @@ namespace MediaBrowser.MediaEncoding.Subtitles
|
|||
return string.Empty;
|
||||
}
|
||||
|
||||
return _encryption.DecryptString(password.Substring(2));
|
||||
var bytes = Convert.FromBase64String(password.Substring(2));
|
||||
return Encoding.UTF8.GetString(bytes, 0, bytes.Length);
|
||||
}
|
||||
|
||||
public string Name => "Open Subtitles";
|
||||
|
@ -186,7 +187,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles
|
|||
var options = GetOptions();
|
||||
|
||||
var user = options.OpenSubtitlesUsername ?? string.Empty;
|
||||
var password = DecryptPassword(options.OpenSubtitlesPasswordHash);
|
||||
var password = DecodeBase64EncodedString(options.OpenSubtitlesPasswordHash);
|
||||
|
||||
var loginResponse = await OpenSubtitles.LogInAsync(user, password, "en", cancellationToken).ConfigureAwait(false);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user