From e04542606e239946b3ab707d93bcdc0d16972272 Mon Sep 17 00:00:00 2001 From: Lightczx <1686188646@qq.com> Date: Tue, 7 May 2024 13:36:04 +0800 Subject: [PATCH] code style --- src/Snap.Hutao/Snap.Hutao/Core/Convert.cs | 25 ------------------- .../Snap.Hutao/Core/IO/FileOperation.cs | 1 - .../Snap.Hutao/Core/IO/Hashing/Hash.cs | 11 +++++--- .../Snap.Hutao/Core/IO/Hashing/MD5.cs | 2 +- .../Snap.Hutao/Core/IO/Hashing/SHA256.cs | 2 +- .../Snap.Hutao/Core/RuntimeOptions.cs | 3 ++- .../Hoyolab/DataSigning/DataSignAlgorithm.cs | 4 ++- .../Capture/IGraphicsCaptureItemInterop.cs | 2 -- .../IGraphicsCaptureItemInteropExtension.cs | 1 - .../Snap.Hutao/Win32/UI/Shell/IFileDialog.cs | 1 - .../Shell/PropertiesSystem/IPropertyChange.cs | 1 - 11 files changed, 15 insertions(+), 38 deletions(-) delete mode 100644 src/Snap.Hutao/Snap.Hutao/Core/Convert.cs diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Convert.cs b/src/Snap.Hutao/Snap.Hutao/Core/Convert.cs deleted file mode 100644 index a9dc770f..00000000 --- a/src/Snap.Hutao/Snap.Hutao/Core/Convert.cs +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright (c) DGP Studio. All rights reserved. -// Licensed under the MIT license. - -using System.Security.Cryptography; -using System.Text; - -namespace Snap.Hutao.Core; - -/// -/// 支持Md5转换 -/// -[HighQuality] -internal static class Convert -{ - /// - /// 获取字符串的MD5计算结果 - /// - /// 源字符串 - /// 计算的结果 - public static string ToMd5HexString(string source) - { - byte[] hash = MD5.HashData(Encoding.UTF8.GetBytes(source)); - return System.Convert.ToHexString(hash); - } -} \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/Core/IO/FileOperation.cs b/src/Snap.Hutao/Snap.Hutao/Core/IO/FileOperation.cs index f75d17cd..00b97aa5 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/IO/FileOperation.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/IO/FileOperation.cs @@ -4,7 +4,6 @@ using Snap.Hutao.Win32.System.Com; using Snap.Hutao.Win32.UI.Shell; using System.IO; -using System.Runtime.InteropServices; using static Snap.Hutao.Win32.Macros; using static Snap.Hutao.Win32.Ole32; using static Snap.Hutao.Win32.Shell32; diff --git a/src/Snap.Hutao/Snap.Hutao/Core/IO/Hashing/Hash.cs b/src/Snap.Hutao/Snap.Hutao/Core/IO/Hashing/Hash.cs index f3eb6e5f..86f4b96a 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/IO/Hashing/Hash.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/IO/Hashing/Hash.cs @@ -8,12 +8,17 @@ namespace Snap.Hutao.Core.IO.Hashing; internal static class Hash { - public static string SHA1HexString(string input) + public static unsafe string SHA1HexString(string input) { - return HashCore(System.Convert.ToHexString, SHA1.HashData, Encoding.UTF8.GetBytes, input); + return HashCore(Convert.ToHexString, SHA1.HashData, Encoding.UTF8.GetBytes, input); } - private static TResult HashCore(Func resultConverter, Func hashMethod, Func bytesConverter, TInput input) + public static unsafe string MD5HexString(string input) + { + return HashCore(Convert.ToHexString, System.Security.Cryptography.MD5.HashData, Encoding.UTF8.GetBytes, input); + } + + private static unsafe TResult HashCore(Func resultConverter, Func hashMethod, Func bytesConverter, TInput input) { return resultConverter(hashMethod(bytesConverter(input))); } diff --git a/src/Snap.Hutao/Snap.Hutao/Core/IO/Hashing/MD5.cs b/src/Snap.Hutao/Snap.Hutao/Core/IO/Hashing/MD5.cs index 47f4e25a..f00d0e2b 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/IO/Hashing/MD5.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/IO/Hashing/MD5.cs @@ -34,6 +34,6 @@ internal static class MD5 public static async ValueTask HashAsync(Stream stream, CancellationToken token = default) { byte[] bytes = await System.Security.Cryptography.MD5.HashDataAsync(stream, token).ConfigureAwait(false); - return System.Convert.ToHexString(bytes); + return Convert.ToHexString(bytes); } } \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/Core/IO/Hashing/SHA256.cs b/src/Snap.Hutao/Snap.Hutao/Core/IO/Hashing/SHA256.cs index 4302ff77..0a3552b9 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/IO/Hashing/SHA256.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/IO/Hashing/SHA256.cs @@ -18,6 +18,6 @@ internal static class SHA256 public static async ValueTask HashAsync(Stream stream, CancellationToken token = default) { byte[] bytes = await System.Security.Cryptography.SHA256.HashDataAsync(stream, token).ConfigureAwait(false); - return System.Convert.ToHexString(bytes); + return Convert.ToHexString(bytes); } } \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/Core/RuntimeOptions.cs b/src/Snap.Hutao/Snap.Hutao/Core/RuntimeOptions.cs index 677b2e20..fcc0f23b 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/RuntimeOptions.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/RuntimeOptions.cs @@ -3,6 +3,7 @@ using Microsoft.Web.WebView2.Core; using Microsoft.Win32; +using Snap.Hutao.Core.IO.Hashing; using Snap.Hutao.Core.Setting; using System.IO; using System.Security.Principal; @@ -50,7 +51,7 @@ internal sealed class RuntimeOptions { string userName = Environment.UserName; object? machineGuid = Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\", "MachineGuid", userName); - return Convert.ToMd5HexString($"{userName}{machineGuid}"); + return Hash.MD5HexString($"{userName}{machineGuid}"); }); private readonly LazySlim<(string Version, bool Supported)> lazyWebViewEnvironment = new(() => diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/DataSigning/DataSignAlgorithm.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/DataSigning/DataSignAlgorithm.cs index 48914216..89ee0065 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/DataSigning/DataSignAlgorithm.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/DataSigning/DataSignAlgorithm.cs @@ -1,6 +1,8 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. +using Snap.Hutao.Core.IO.Hashing; + namespace Snap.Hutao.Web.Hoyolab.DataSigning; internal static class DataSignAlgorithm @@ -19,7 +21,7 @@ internal static class DataSignAlgorithm } #pragma warning disable CA1308 - string check = Core.Convert.ToMd5HexString(dsContent).ToLowerInvariant(); + string check = Hash.MD5HexString(dsContent).ToLowerInvariant(); #pragma warning restore CA1308 return $"{t},{r},{check}"; diff --git a/src/Snap.Hutao/Snap.Hutao/Win32/System/WinRT/Graphics/Capture/IGraphicsCaptureItemInterop.cs b/src/Snap.Hutao/Snap.Hutao/Win32/System/WinRT/Graphics/Capture/IGraphicsCaptureItemInterop.cs index 77fe1f56..0221adff 100644 --- a/src/Snap.Hutao/Snap.Hutao/Win32/System/WinRT/Graphics/Capture/IGraphicsCaptureItemInterop.cs +++ b/src/Snap.Hutao/Snap.Hutao/Win32/System/WinRT/Graphics/Capture/IGraphicsCaptureItemInterop.cs @@ -1,10 +1,8 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using Microsoft.UI.Composition; using Snap.Hutao.Win32.Foundation; using Snap.Hutao.Win32.Graphics.Gdi; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Snap.Hutao.Win32.System.WinRT.Graphics.Capture; diff --git a/src/Snap.Hutao/Snap.Hutao/Win32/System/WinRT/Graphics/Capture/IGraphicsCaptureItemInteropExtension.cs b/src/Snap.Hutao/Snap.Hutao/Win32/System/WinRT/Graphics/Capture/IGraphicsCaptureItemInteropExtension.cs index 1b68b1ce..564eee49 100644 --- a/src/Snap.Hutao/Snap.Hutao/Win32/System/WinRT/Graphics/Capture/IGraphicsCaptureItemInteropExtension.cs +++ b/src/Snap.Hutao/Snap.Hutao/Win32/System/WinRT/Graphics/Capture/IGraphicsCaptureItemInteropExtension.cs @@ -3,7 +3,6 @@ using Snap.Hutao.Win32.Foundation; using Snap.Hutao.Win32.Graphics.Gdi; -using System.Runtime.InteropServices; using Windows.Graphics.Capture; namespace Snap.Hutao.Win32.System.WinRT.Graphics.Capture; diff --git a/src/Snap.Hutao/Snap.Hutao/Win32/UI/Shell/IFileDialog.cs b/src/Snap.Hutao/Snap.Hutao/Win32/UI/Shell/IFileDialog.cs index 2d8ea379..db867b29 100644 --- a/src/Snap.Hutao/Snap.Hutao/Win32/UI/Shell/IFileDialog.cs +++ b/src/Snap.Hutao/Snap.Hutao/Win32/UI/Shell/IFileDialog.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using Snap.Hutao.Win32.Foundation; -using Snap.Hutao.Win32.System.Com; using Snap.Hutao.Win32.UI.Shell.Common; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; diff --git a/src/Snap.Hutao/Snap.Hutao/Win32/UI/Shell/PropertiesSystem/IPropertyChange.cs b/src/Snap.Hutao/Snap.Hutao/Win32/UI/Shell/PropertiesSystem/IPropertyChange.cs index efe7b831..804f526b 100644 --- a/src/Snap.Hutao/Snap.Hutao/Win32/UI/Shell/PropertiesSystem/IPropertyChange.cs +++ b/src/Snap.Hutao/Snap.Hutao/Win32/UI/Shell/PropertiesSystem/IPropertyChange.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using Snap.Hutao.Win32.Foundation; -using Snap.Hutao.Win32.System.Com; using Snap.Hutao.Win32.System.Com.StructuredStorage; using System.Runtime.CompilerServices; using System.Runtime.InteropServices;