惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Darknet – Hacking Tools, Hacker News & Cyber Security
Stack Overflow Blog
Stack Overflow Blog
aimingoo的专栏
aimingoo的专栏
The Register - Security
The Register - Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
P
Proofpoint News Feed
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Help Net Security
月光博客
月光博客
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Blog — PlanetScale
Blog — PlanetScale
Security Archives - TechRepublic
Security Archives - TechRepublic
MyScale Blog
MyScale Blog
C
Cisco Blogs
Simon Willison's Weblog
Simon Willison's Weblog
P
Privacy & Cybersecurity Law Blog
The GitHub Blog
The GitHub Blog
WordPress大学
WordPress大学
Martin Fowler
Martin Fowler
Hugging Face - Blog
Hugging Face - Blog
P
Privacy International News Feed
G
Google Developers Blog
Recorded Future
Recorded Future
Vercel News
Vercel News
IT之家
IT之家
C
Check Point Blog
G
GRAHAM CLULEY
Recent Announcements
Recent Announcements
M
MIT News - Artificial intelligence
Y
Y Combinator Blog
Project Zero
Project Zero
NISL@THU
NISL@THU
C
Cybersecurity and Infrastructure Security Agency CISA
Hacker News: Ask HN
Hacker News: Ask HN
A
About on SuperTechFans
罗磊的独立博客
T
Troy Hunt's Blog
Know Your Adversary
Know Your Adversary
Scott Helme
Scott Helme
云风的 BLOG
云风的 BLOG
Schneier on Security
Schneier on Security
The Hacker News
The Hacker News
Attack and Defense Labs
Attack and Defense Labs
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Last Week in AI
Last Week in AI
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
The Blog of Author Tim Ferriss

博客园 - lzhdim

JavaScript 中的原型与继承 1分钟查清局域网所有IP 20260714 - 个人小作品更新 WorkBuddy 完整教程手册 专为AI而生的企业级QLC SSD!长江存储PE501 61.44TB评测:超过1PB的写入测试 32GB显存才是第一生产力!英特尔锐炫 Pro B70评测:中小企业AI降本神器 JavaScript中的this关键字 C#开发的PopoSaver泡泡屏保应用 - 开源研究系列文章 - 个人小作品 6天不间断测试告诉你到底有多省电!米家空调巨省电大1.5匹评测:制冷峰值功率不超过500W 三倍双摄加持 + D-Log 2 曲线!大疆DJI OSMO Pocket 4P全面评测:补齐短板,化身口袋电影机 晶栈4.0闪存立威!长江存储致态TiPro9000 2TB SSD评测:缓外写入超4GB/s独一档 C# 多线程同步机制详解:原理、使用与性能对比 JavaScript作用域与闭包讲解 最受欢迎的 10 大免费 AI 工具 六种AI生意,从月入一万到月入十万 5个国产大模型实测对比2026:DeepSeek、Kimi、豆包、通义、智谱哪个好用 豆包、元宝、千问、Kimi、DeepSeek,这么多AI软件,到底该用哪个? 微软免费开源了一个 Linux 操作系统,没错!是微软出品 一次看懂5种咖啡冲煮方式:意式、手冲、法压、冷萃、摩卡壶到底有什么区别 120个 实用CSS 技巧汇总合集 JavaScript运算符与表达式详解 C#开发的ScreenSaver屏保应用 - 开源研究系列文章 - 个人小作品 WinForm 中跨线程操作 UI 的解决方案 JavaScript变量与数据类型详解 苹果良心!iOS 27适配设备公布:30款机型 7年前的iPhone 11还能升级 C++图形用户界面开发入门 10个不该免费的GitHub神级项目 JavaScript语言全面概述:从历史到现代实践 一张图看懂常见咖啡 C盘空间多出来4GB:谷歌服软 Chrome本地AI大模型可禁用、删除了 96GB显存运行230B大模型!七彩虹灵创K16笔记本评测:160W性能释放 AMD锐龙AI Max+ 395加持全能移动AI工作站 AI PC最强存储搭档!雷克沙NM1090 PRO 8TB固态评测:14400MB/s满速不缩水 C#已经不是当年的C#了——我用它写了个微秒级数据库引擎 EasyTool:轻量全能的 .NET 工具类库 SQL 入门 17:MySQL 数据类型:从字符串到 JSON 的全面解析 SQL 入门 16:SQL 事务隔离级别与死锁解析(易懂) 原相3955XM+TL3228主控!小米电竞鼠标2全面评测:原生双8K究竟有多强 PCIe 4.0火力全开:闪迪奥丁马仕GX 7100 NVMe SSD上手 超乎预料的千元级电竞主板!七彩虹iGame B850M Ultra-OC V14主板评测 SQL 入门 15:SQL 事务:从 ACID 到四种常见的并发问题 名人 - 我的闪存 C#性能优化技巧 SQL 入门 14:SQL 触发器与事件:自动化数据处理 38个实用的JavaScript 技巧 一款基于 .Net WinForm 开发的节点编辑器,纯 GDI 实现,体积仅 100+Kb SQL 入门 13:SQL 存储过程与函数:封装逻辑与参数处理 49个 JavaScript 代码快捷技巧,让你在 2026 年成为代码高手 20260503 - 个人小作品更新 SQL 入门 12:SQL 视图:创建、修改与可更新视图 C#如何实现Windows系统桌面截图功能... 6999元AMD新旗舰首测!锐龙9 9950X3D2性能解禁:这颗U根本不是给游戏玩家造的 SQL 入门 11:日期时间格式化、IF、CASE的使用 基于C#的校时类库的实现及使用 - 开源项目研究文章 39g无打孔+原生双8K!雷柏VT0 Air MAX / VT3s Air MAX鼠标评测:轻到飞起还快到极致 WinForm 中控件自适应窗体变化 20260413 - 个人小作品更新 SQL 入门 10:SQL 内置函数:数值、字符串与时间处理 最强麒麟芯+自研风冷 华为Mate80 Pro MAX 风驰版全面评测:涡轮散热封神 性能稳到骨子里 WiFi8核心技术特性与性能分析 2026年最新AMD/Intel桌面CPU排名:多线程、单线程、游戏性能谁才是第一 用DG对C盘进行扩容 - 初学者系列 - 学习者系列 还有比它更强的OEM固态吗!长江存储PC550 1TB评测:不用散热片也能满速的PCIe 5.0 SSD SharpCompress:跨平台的 C# 压缩与解压库 SQL 入门 9:SQL 高级子查询:ANY、EXISTS 与多位置应用 盘点接私活20个最实用的 .NET 开源项目 C#中加载图片的资源释放 20260404 - 个人小作品更新 开启iphone的墙纸玻璃效果 可能是综合性能最强的PCIe 5.0 SSD!铠侠EXCERIA PRO G2 2TB评测:AIDA64线性写入全程不掉速 SQL 入门 8:SQL 复杂查询:子查询与ALL关键词 性能最强的锐龙AI 9 H 465轻薄本!华硕无畏Pro16锐龙版2026评测 4盘RAID 0读写超1100MB/s!希捷酷狼Pro 32TB硬盘评测:百万文件快速完成备份 项目(Project)、项目集(Program)、项目组合(Portfolio) SQL 入门 7:SQL 聚合与分组:函数、GROUP BY 与 ROLLUP
Masuit.Tools:这个 C# 工具库
lzhdim · 2026-05-10 · via 博客园 - lzhdim

写一个验证码生成,网上找半天代码,复制粘贴,调半天;要做个文件压缩,NuGet 搜一圈,不知道选哪个;想获取系统硬件信息,WMI 查询写得头疼……

每次都是重复造轮子,每次都在想:为什么没有一个"什么都有"的工具库?

直到我发现了 Masuit.Tools。

它到底有多"全"?

先看一组数字:

  • 488 个 C# 文件
  • 14 个核心功能模块
  • 8 个独立 NuGet 包
  • 支持 .NET Framework 4.5 到 .NET 10

这不是一个"专注做一件事"的库,这是一个"你能想到的常用功能都有"的工具箱。

字符串处理? 有。验证码生成(带图片)、SimHash 文本相似度、任意进制转换、模板引擎。

加密安全? 有。DES/AES/RSA 加密解密、MD5/SHA/CRC 哈希、RSA 密钥生成(支持 PKCS1/PKCS8/XML 三种格式)、零宽字符编解码。

文件操作? 有。文件签名检测(判断文件真实类型)、7z/ZIP/RAR 压缩解压、INI 文件读写、文本编码自动检测。

网络下载? 有。多线程下载器、断点续传、部分下载、FTP 客户端。

硬件信息? 有。CPU/内存/磁盘信息、系统温度监测、网卡 MAC 地址、进程 CPU/内存占用率,甚至集成了 Windows Defender 扫描。

图像处理? 有。图像哈希(AverageHash/PerceptualHash/DctHash)、图像水印、裁剪缩放、颜色转换(RGB/Lab/HSL/CMYK)、颜色差异计算。

数据库? 有。DataTable 转 List、动态 SQL 生成、EntityFrameworkCore 扩展。

日期时间? 有。中国农历转换、周数计算、时间段相交判断、天干地支计算。

数学计算? 有。坐标转换(WGS84/GCJ-02/BD-09,GPS 坐标纠偏)、权重随机筛选、百分位数计算、雷达图生成。

LINQ 扩展? 有。表达式树组合(And/Or/AndIf/OrIf),动态构建查询条件。

HTML 处理? 有。XSS 防护(HtmlSanitizer)、HTML 标签清理、自定义清理规则。

验证? 有。Email 验证(支持 DNS 检查)、手机号/座机号验证、IP 地址验证、身份证号验证、企业统一社会信用代码验证。

系统工具? 有。SnowFlake 分布式 ID 生成、并发集合(ConcurrentHashSet/ConcurrentHashQueue)、定长队列、大内存流(支持 1TB)、高精度计时器。

树形结构? 有。ITree 接口、Tree 泛型类、树形扩展方法(Filter/Flatten/ToList)。

我列了这么多,还只是一部分。

这就是为什么我说它被低估了——因为大多数人根本不知道它能做这么多事。

三个让我印象最深的功能

1. 文件签名检测:不再被文件扩展名骗

你有没有遇到过这种情况:一个 .jpg 文件,打开却是个 .exe;一个 .txt 文件,实际上是个 .zip

文件扩展名是可以随便改的,但文件头部的"魔数"(Magic Number)是改不了的。

Masuit.Tools 的 FileSignatureDetector 可以通过读取文件头部字节,判断文件的真实类型:

var realType = FileSignatureDetector.DetectFileType("suspicious.jpg");
// 返回:FileType.Exe

支持几十种常见文件格式,包括图片、视频、压缩包、Office 文档、可执行文件等。

这个功能在文件上传场景特别有用——不要相信用户上传的文件扩展名。

2. 大内存流:突破 2GB 限制

.NET 的 MemoryStream 有一个硬伤:最大只能存 2GB 数据(因为内部用的是 byte[],数组长度上限是 int.MaxValue)。

如果你要处理超大文件(比如视频转码、大数据导出),MemoryStream 就不够用了。

Masuit.Tools 提供了 LargeMemoryStream,突破了这个限制:

usingvar stream = new LargeMemoryStream();
// 可以写入 1TB 数据

内部实现是用多个小块拼接,对外接口和 MemoryStream 一样,无缝替换。

这是那种"平时用不到,用到了就救命"的功能。

3. 坐标转换:GPS 坐标纠偏

如果你做过地图相关的开发,一定知道中国的坐标系有多乱:

  • GPS 原始坐标(WGS84)
  • 国测局坐标(GCJ-02,火星坐标)
  • 百度坐标(BD-09)

不同地图服务商用的坐标系不一样,直接用会偏移几百米。

Masuit.Tools 提供了三种坐标系的互相转换:

// GPS 坐标转火星坐标
var gcj = CoordinateConverter.WGS84ToGCJ02(lat, lng);

// 火星坐标转百度坐标
var bd = CoordinateConverter.GCJ02ToBD09(gcj.Lat, gcj.Lng);

不用再去找那些不知道对不对的转换公式了。

模块化设计:按需引用

Masuit.Tools 不是一个"全家桶"包,而是拆成了 8 个独立的 NuGet 包:

  • Masuit.Tools.Core - .NET Core 推荐
  • Masuit.Tools.Abstractions - 通用基础包
  • Masuit.Tools.Net - .NET Framework 4.6.1+
  • Masuit.Tools.Net45 - .NET Framework 4.5 特供版
  • Masuit.Tools.AspNetCore - ASP.NET Core 专用(断点续传 FileResult、ModelBinder 等)
  • Masuit.Tools.Excel - Excel 导入导出专用
  • Masuit.Tools.NoSQL.MongoDBClient - MongoDB 操作封装
  • Masuit.Tools.DigitalWatermarker - 数字水印(基于 OpenCV)

你只需要引用你需要的包,不会把整个工具库都拉进来。

比如你只想用 Excel 导出功能,就只装 Masuit.Tools.Excel;如果你要用 MongoDB,就装 Masuit.Tools.NoSQL.MongoDBClient

这种设计很克制,不是"要么全要,要么不要"。

代码质量:值得信赖

看一个开源库靠不靠谱,不只看功能,还要看代码质量。

Masuit.Tools 的代码质量让我放心:

完整的 XML 文档注释
每个公开方法都有详细的注释,IDE 里有完整的智能提示。

单元测试覆盖
5 个测试项目,使用 xUnit 框架,覆盖主要功能模块。

持续维护
最新版本 2.5.9.1,持续更新,支持最新的 .NET 版本。

获得 JetBrains 官方支持
这是对开源项目质量的认可。

MIT 开源协议
商业项目可以放心使用,没有法律风险。

实际使用:三个场景

场景一:生成验证码

// 生成 4 位验证码
var code = ValidateCode.CreateValidateCode(4);

// 生成验证码图片(带干扰线和噪点)
var image = ValidateCode.CreateValidateGraphic(code);

// 返回给前端
return File(image, "image/png");

不用再去找那些年代久远的验证码生成代码了。

场景二:多线程下载大文件

var downloader = new MultiThreadDownloader(
    url: "https://example.com/large-file.zip",
    savePath: "D:\\download\\file.zip",
    threadCount: 8
);

downloader.ProgressChanged += (sender, e) => {
    Console.WriteLine($"进度:{e.ProgressPercentage}%");
};

await downloader.DownloadAsync();

支持断点续传,下载中断后可以继续。

场景三:动态构建查询条件

Expression<Func<User, bool>> where = u => true;

if (!string.IsNullOrEmpty(name))
{
where = where.And(u => u.Name.Contains(name));
}

if (age.HasValue)
{
where = where.And(u => u.Age == age.Value);
}

var users = dbContext.Users.Where(where).ToList();

不用写一堆 if-else 拼接 SQL 了。

为什么说它被低估?

因为大多数 C# 开发者根本不知道它的存在。

你去 GitHub 搜"C# tools",排在前面的都是国外的库。Masuit.Tools 是国人开发的,文档是中文的,功能针对国内开发场景(比如农历转换、身份证验证、坐标纠偏),但知名度远不如那些国外库。

这不是因为它不够好,而是因为它不够"出名"。

如果你是 C# 开发者,强烈建议你把它加到你的工具箱里。

不是说它能解决所有问题,而是说——当你遇到那些"常见但琐碎"的需求时,它能帮你省下大量时间。

如何开始?

# 安装核心包
dotnet add package Masuit.Tools.Core

# 或者安装 ASP.NET Core 专用包
dotnet add package Masuit.Tools.AspNetCore

官方文档:https://www.masuit.tools

GitHub:搜索 Masuit.Tools