Jelajahi Sumber

Don't use deprecated HashAlgorithm.Create(string)

Bond_009 2 tahun lalu
induk
melakukan
6ccb1e5570

+ 1 - 37
Emby.Server.Implementations/Cryptography/CryptographyProvider.cs

@@ -2,8 +2,6 @@ using System;
 using System.Collections.Generic;
 using System.Globalization;
 using System.Security.Cryptography;
-using System.Text;
-using MediaBrowser.Common.Extensions;
 using MediaBrowser.Model.Cryptography;
 using static MediaBrowser.Model.Cryptography.Constants;
 
@@ -14,25 +12,6 @@ namespace Emby.Server.Implementations.Cryptography
     /// </summary>
     public class CryptographyProvider : ICryptoProvider
     {
-        // TODO: remove when not needed for backwards compat
-        private static readonly HashSet<string> _supportedHashMethods = new HashSet<string>()
-            {
-                "MD5",
-                "System.Security.Cryptography.MD5",
-                "SHA",
-                "SHA1",
-                "System.Security.Cryptography.SHA1",
-                "SHA256",
-                "SHA-256",
-                "System.Security.Cryptography.SHA256",
-                "SHA384",
-                "SHA-384",
-                "System.Security.Cryptography.SHA384",
-                "SHA512",
-                "SHA-512",
-                "System.Security.Cryptography.SHA512"
-            };
-
         /// <inheritdoc />
         public string DefaultHashMethod => "PBKDF2-SHA512";
 
@@ -80,22 +59,7 @@ namespace Emby.Server.Implementations.Cryptography
                         DefaultOutputLength));
             }
 
-            if (!_supportedHashMethods.Contains(hash.Id))
-            {
-                throw new CryptographicException($"Requested hash method is not supported: {hash.Id}");
-            }
-
-            using var h = HashAlgorithm.Create(hash.Id) ?? throw new ResourceNotFoundException($"Unknown hash method: {hash.Id}.");
-            var bytes = Encoding.UTF8.GetBytes(password.ToArray());
-            if (hash.Salt.Length == 0)
-            {
-                return hash.Hash.SequenceEqual(h.ComputeHash(bytes));
-            }
-
-            byte[] salted = new byte[bytes.Length + hash.Salt.Length];
-            Array.Copy(bytes, salted, bytes.Length);
-            hash.Salt.CopyTo(salted.AsSpan(bytes.Length));
-            return hash.Hash.SequenceEqual(h.ComputeHash(salted));
+            throw new NotSupportedException($"Can't verify hash with id: {hash.Id}");
         }
 
         /// <inheritdoc />