标签: #加密解密

C# 安全随机密码生成与校验:基于 RandomNumberGenerator 的策略化实现

在日常开发中,密码生成是后台系统、命令行工具等场景的常见需求。本文基于 SwitchData 项目中的 PasswordGenerator 实现,介绍如何使用 RandomNumberGenerator 构建密码学安全、策略可配置的密码生成与校验方案,涵盖字符池管理、Fisher-Yates 洗牌、控制台星号输入等实战技巧。

C# ZIP 解压安全实战:从 Zip Slip 攻击防御到 Span/stackalloc 现代性能优化

你以为解压一个 ZIP 包只是一行代码?里面藏着 Zip Slip 路径穿越漏洞、GBK/UTF-8 中文乱码、CRC 边界溢出等坑点。本文带你拆解 SwitchData 项目里的 SharpZipHelper:用 ReadOnlySpan.SplitAny 做零字符串分配解析,用 stackalloc + RandomAccess 做零堆分配 ZIP 头校验,用沙箱包含判定彻底堵死 Zip Slip,最后用 ArraySegment 把 CRC32 算得又快又准。看完你也能写一个安全、性能、编码三不误的现代 .NET 压缩工具类。

C#/.NET 加密解密实战:RSA分块加解密、AES对称加密与哈希算法完整实现

在企业级开发中,数据安全离不开加密解密。本文从 SwitchData 项目真实代码出发,系统讲解 C#/.NET 下三大加密体系的完整实现:RSA 非对称加密(含 PEM 多格式导入、分块加解密公式、数字签名与验签、标准 Dispose 模式)、AES 对称加密(CryptoStream 管道设计、IV 随机化、密钥生成)、MD5/SHA256 哈希算法(字节流/文件/字符串多输入支持)。最后附上 RSA+AES+SHA256 混合加密实战方案与常见坑点避坑指南。

ASP.NET Core 接口签名验证:防篡改、防重放的完整实现

在对外提供 OpenAPI 时,仅靠账号密码远远不够。本文从 SwitchData 项目真实代码出发,详解基于 userId+timestamp+secret 的 MD5 签名方案:包含签名头字段、5 分钟重放窗口、类型化 Filter 注册、AllowAnonymous 跳过、签名生成与校验、日志记录等,读完可直接套用到你自己的 API 接口安全上。