This commit is contained in:
nsnail 2022-11-29 18:00:21 +08:00
parent b6279bb0bb
commit a61d057c76
20 changed files with 143 additions and 36 deletions

View File

@ -35,3 +35,7 @@ public static class ByteExtensions
return me.HexDe(Encoding.UTF8); return me.HexDe(Encoding.UTF8);
} }
} }

View File

@ -24,3 +24,9 @@ public static class CharExtensions
} }

View File

@ -87,3 +87,8 @@ public static class DateTimeExtensions
return me.ToString("yyyyMMdd"); return me.ToString("yyyyMMdd");
} }
} }

View File

@ -28,3 +28,9 @@ public static class DbCommandExtensions
} }
} }

View File

@ -16,3 +16,9 @@ public static class DecimalExtensions
} }

View File

@ -17,3 +17,8 @@ public static class EnumExtensions
} }

View File

@ -26,3 +26,8 @@ public static class EnumerableExtensions
} }

View File

@ -43,3 +43,9 @@ public static class GenericExtensions
} }

View File

@ -36,3 +36,8 @@ public static class IntExtensions
} }

View File

@ -19,3 +19,7 @@ public static class JsonSerializerOptionsExtensions
}; };
} }
} }

View File

@ -66,3 +66,8 @@ public static class LoggerExtensions
} }

View File

@ -28,3 +28,8 @@ public static class LongExtensions

View File

@ -19,3 +19,8 @@ public static class ObjectExtensions
}); });
} }
} }

View File

@ -0,0 +1,26 @@
namespace NSExt.Extensions;
public static class StreamExtensions
{
public static long FirstByteIndex(this Stream me, byte[] findBytes)
{
int data;
while ((data = me.ReadByte()) != -1)
if (findBytes.Contains((byte)data))
return me.Position;
return -1;
}
public static bool IsTextStream(this Stream me)
{
return me.FirstByteIndex(new byte[] {
0x00,
0xff
}) < 0;
}
}

View File

@ -11,6 +11,21 @@ public static class StringExtensions
private static readonly JsonSerializerOptions _DEFAULT_JSON_SERIALIZER_OPTIONS = private static readonly JsonSerializerOptions _DEFAULT_JSON_SERIALIZER_OPTIONS =
default(JsonSerializerOptions).NewJsonSerializerOptions(); default(JsonSerializerOptions).NewJsonSerializerOptions();
/// <summary>
/// MD5 hmac编码
/// </summary>
/// <param name="me">字符串</param>
/// <param name="key">密钥</param>
/// <param name="e">字符串使用的编码</param>
/// <returns>hash摘要的16进制文本形式无连字符小写</returns>
private static string Md5Hmac(this string me, string key, Encoding e)
{
using var md5Hmac = new HMACMD5(e.GetBytes(key));
return BitConverter.ToString(md5Hmac.ComputeHash(e.GetBytes(me)))
.Replace("-", string.Empty)
.ToLower(CultureInfo.CurrentCulture);
}
/// <summary> /// <summary>
/// aes加密 /// aes加密
/// </summary> /// </summary>
@ -554,19 +569,8 @@ public static class StringExtensions
{ {
return Uri.UnescapeDataString(me); return Uri.UnescapeDataString(me);
} }
/// <summary>
/// MD5 hmac编码
/// </summary>
/// <param name="me">字符串</param>
/// <param name="key">密钥</param>
/// <param name="e">字符串使用的编码</param>
/// <returns>hash摘要的16进制文本形式无连字符小写</returns>
private static string Md5Hmac(this string me, string key, Encoding e)
{
using var md5Hmac = new HMACMD5(e.GetBytes(key));
return BitConverter.ToString(md5Hmac.ComputeHash(e.GetBytes(me)))
.Replace("-", string.Empty)
.ToLower(CultureInfo.CurrentCulture);
}
} }

View File

@ -17,3 +17,7 @@ public static class TypeExtensions
.Cast<T>(); .Cast<T>();
} }
} }

View File

@ -15,3 +15,9 @@ public static class UriExtensions

View File

@ -3,7 +3,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net6.0;net7.0</TargetFrameworks> <TargetFrameworks>net6.0;net7.0</TargetFrameworks>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<VersionPrefix>1.0.2</VersionPrefix> <VersionPrefix>1.0.3</VersionPrefix>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>