diff --git a/src/NSExt/StringExtensions.cs b/src/NSExt/StringExtensions.cs
index 470319d..d0a6104 100644
--- a/src/NSExt/StringExtensions.cs
+++ b/src/NSExt/StringExtensions.cs
@@ -5,13 +5,14 @@
// @created: 07/26/2022 21:57
using System.Globalization;
+using System.Security.Cryptography;
using System.Text;
using System.Text.RegularExpressions;
using System.Web;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
-using SshNet.Security.Cryptography;
using HMACMD5 = System.Security.Cryptography.HMACMD5;
+using MD5 = SshNet.Security.Cryptography.MD5;
// ReSharper disable UnusedMember.Global
@@ -255,6 +256,37 @@ public static class StringExtensions
}
+ ///
+ /// 对一个字符串进行sha1 hash运算
+ ///
+ /// 字符串
+ /// 字符串使用的编码
+ /// hash摘要的16进制文本形式(无连字符小写)
+ public static string Sha1(this string me, Encoding e)
+ {
+ using var sha1 = SHA1.Create();
+ return BitConverter.ToString(sha1.ComputeHash(e.GetBytes(me)))
+ .Replace("-", string.Empty)
+ .ToLower(CultureInfo.CurrentCulture);
+ }
+
+ ///
+ /// 对一个字符串进行sha1 hash运算
+ ///
+ /// 对一个字符串进行sha1 hash运算
+ /// 密钥
+ /// 使用的编码
+ /// 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);
+ }
+
+
///
/// 对一个字符串进行md5hash运算
///