Masuit.Tools:C# 开发者的万能工具箱

正文顶部截图

做 C# 开发的朋友应该都有过这种经历:写个项目,需要加密解密、需要处理字符串、需要操作 Excel、需要压缩文件,每个功能都要去找不同的库,装一堆 NuGet 包,项目依赖越来越臃肿。

今天介绍一个工具库 Masuit.Tools,目前在 GitHub 上已经拿到了 6k+ 的 Star。这个库把日常开发中常用的功能都封装好了,一个包搞定,代码量不到 2MB。

README区域截图

支持的功能范围

Masuit.Tools 覆盖的功能面很广,挑几个实用的说说:

字符串和数据校验

判断一个字符串是不是邮箱、手机号、URL、IP 地址、身份证号,一行代码搞定。还支持企业统一社会信用代码校验、专利申请号校验。实体类上加个特性注解,就能自动校验字段格式。

加密解密

MD5、AES、DES、RSA 都有,支持加盐、多次哈希。还做了个零宽字符串的功能,可以把隐藏信息嵌入到普通文本里,肉眼看不出来,适合做文章暗水印。

分布式 ID 生成

内置了雪花 ID 生成器,支持自定义进制。100 万个 ID 去重测试通过,生成速度在 2.7 秒左右。改良版对时间回拨不敏感,生产环境用起来更稳。

文件操作

支持 ZIP、RAR、7Z、TAR 的压缩解压,ASP.NET Core 项目可以直接注入使用。多线程下载器支持断点续传、进度回调、自定义请求头。

硬件监控

获取 CPU 占用率、内存信息、硬盘序列号、主板信息,这些在 Windows 环境下都能直接调用。需要管理员权限。

其他功能

农历转换、雷达图、圆形球体几何计算、模板引擎、HTML 防 XSS 处理、Excel 导入导出、MongoDB 操作封装,基本上日常开发能用到的都涵盖了。

安装方式

根据项目类型选择对应的 NuGet 包:

.NET Core 项目(推荐):

PM> Install-Package Masuit.Tools.Core

.NET Standard 项目:

PM> Install-Package Masuit.Tools.Abstraction

.NET Framework 4.6.2 及以上:

PM> Install-Package Masuit.Tools.Net

ASP.NET Core 项目有专用包,包含了 Core 包的全部功能加上 Web 相关的扩展:

PM> Install-Package Masuit.Tools.AspNetCore

Excel 导入导出和 MongoDB 操作有独立的增值包,按需安装。

使用示例

字符串校验:

var (isMatch, match) = "337845818@qq.com".MatchEmail();
bool isPhoneNumber = "15205201520".MatchPhoneNumber();
bool isIdentifyCard = "312000199502230660".MatchIdentifyCard();

加密解密:

var enc = "123456".MDString(); // MD5
string aes = "123456".AESEncrypt(); // AES 加密
string s = aes.AESDecrypt(); // AES 解密

雪花 ID:

string id = SnowFlake.NewId; // 生成唯一 ID
string shortId = SnowFlake.GetInstance().GetUniqueShortId(8); // 8 位短 ID

进制转换:

var bin = 12345678.ToBase(36); // 10 进制转 36 进制:7clzi
var num = "7clzi".FromBase(36); // 36 进制转 10 进制:12345678

硬件信息:

float load = SystemInfo.CpuLoad; // CPU 占用率
long physicalMemory = SystemInfo.PhysicalMemory; // 物理内存总数
double temperature = SystemInfo.GetCPUTemperature(); // CPU 温度

适用场景

这个库适合 C# 开发者在项目中直接使用,尤其是中小型项目,不想引入太多第三方依赖的情况下,一个包解决大部分工具类需求。

代码量小,API 设计简洁,学习成本低。支持 .NET Core 2.1 及以上所有版本,也兼顾了 .NET Framework 4.5 的特供版(功能有裁剪)。

项目作者在 README 里提到,使用过程中遇到问题可以直接提 issue,会提供免费的技术指导。对于人力外包公司和 007 工作制的公司,需要联系作者进行商业授权,个人和其他企业可以随意使用。

开发工具建议 Visual Studio 2022 v17.8 及以上版本,操作系统 Windows 11 23H2 及以上。

司和 007 工作制的公司,需要联系作者进行商业授权,个人和其他企业可以随意使用。

开发工具建议 Visual Studio 2022 v17.8 及以上版本,操作系统 Windows 11 23H2 及以上。

更多推荐