|  | @@ -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);
 | 
	
		
			
				|  |  |  
 |