From a26f219b720a5d69658d130fd748253cf2fdb609 Mon Sep 17 00:00:00 2001 From: taoke Date: Fri, 26 Aug 2022 20:32:21 +0800 Subject: [PATCH] .. --- src/NSExt/NSExt.csproj | 2 ++ src/NSExt/StringExtensions.cs | 31 +++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/src/NSExt/NSExt.csproj b/src/NSExt/NSExt.csproj index 09804e6..6b5c261 100644 --- a/src/NSExt/NSExt.csproj +++ b/src/NSExt/NSExt.csproj @@ -3,6 +3,8 @@ net6.0 enable + disable + preview diff --git a/src/NSExt/StringExtensions.cs b/src/NSExt/StringExtensions.cs index ce8b0a2..470319d 100644 --- a/src/NSExt/StringExtensions.cs +++ b/src/NSExt/StringExtensions.cs @@ -270,6 +270,37 @@ public static class StringExtensions } + /// + /// 对一个字符串进行sha1hash运算 + /// + /// 字符串 + /// 字符串使用的编码 + /// hash摘要的16进制文本形式(无连字符小写) + public static string Sha1(this string me, Encoding e) + { + using var sha1 = new SHA1(); + return BitConverter.ToString(sha1.ComputeHash(e.GetBytes(me))) + .Replace("-", string.Empty) + .ToLower(CultureInfo.CurrentCulture); + } + + + /// + /// 对一个字符串进行sha1hash运算 + /// + /// 字符串 + /// 密钥 + /// 字符串使用的编码 + /// hash摘要的16进制文本形式(无连字符小写) + public static string HmacSha1(this string me, string secret, Encoding e) + { + using var hmacSha1 = new HMACSHA1(e.GetBytes(secret)); + return BitConverter.ToString(hmacSha1.ComputeHash(e.GetBytes(me))) + .Replace("-", string.Empty) + .ToLower(CultureInfo.CurrentCulture); + } + + /// /// MD5 hmac编码 ///