推荐一个不到2MB的C#开发工具箱,集成了上千个常用操作类
创始人
2024-01-18 17:28:23
0

今天给大家推荐一个C#开发工具箱,涵盖了所有常用操作类,体积小、功能强大。

项目简介

C# 开发工具箱。大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载和FTP客户端,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展、Excel导出等常用封装。诸多功能集一身,代码量不到2MB!

图片

技术架构

开发工具:VisualStudio2019

SDK:.Net Core 2.1.0

项目结构

图片

特色功能示例

字符串格式校验

bool isEmail="337845818@qq.com".MatchEmail(); // 可在appsetting.json中添加EmailDomainWhiteList和EmailDomainBlockList配置邮箱域名黑白名单,逗号分隔,如"EmailDomainBlockList": "^w{1,5}@qq.com,^w{1,5}@163.com,^w{1,5}@gmail.com,^w{1,5}@outlook.com",
bool isInetAddress = "114.114.114.114".MatchInetAddress();
bool isUrl = "http://ldqk.org/20/history".MatchUrl();
bool isPhoneNumber = "15205201520".MatchPhoneNumber();
bool isIdentifyCard = "312000199502230660".MatchIdentifyCard();// 校验中国大陆身份证号
bool isCNPatentNumber = "200410018477.9".MatchCNPatentNumber(); // 校验中国专利申请号或专利号,是否带校验位,校验位前是否带“.”,都可以校验,待校验的号码前不要带CN、ZL字样的前缀

任意进制转换

NumberFormater nf = new NumberFormater(36);//内置2-62进制的转换
//NumberFormater nf = new NumberFormater("0123456789abcdefghijklmnopqrstuvwxyz");// 自定义进制字符,可用于生成验证码
string s36 = nf.ToString(12345678);
long num = nf.FromString("7clzi");
Console.WriteLine("12345678的36进制是:" + s36); // 7clzi
Console.WriteLine("36进制的7clzi是:" + num); // 12345678
var s = new NumberFormater(62).ToString(new Random().Next(100000, int.MaxValue)); //配合随机数生成随机字符串

唯一ID生成

var token=Stopwatch.GetTimestamp().ToBinary(36);
var set = new HashSet();
double time = HiPerfTimer.Execute(() =>
{for (int i = 0; i < 1000000; i++){set.Add(Stopwatch.GetTimestamp().ToBinary(36));}
});
Console.WriteLine(set.Count==1000000);//True
Console.WriteLine("产生100w个id耗时"+time+"s");//1.6639039s

农历转换

ChineseCalendar.CustomHolidays.Add(DateTime.Parse("2018-12-31"),"元旦节");//自定义节假日
ChineseCalendar today = new ChineseCalendar(DateTime.Parse("2018-12-31"));
Console.WriteLine(today.ChineseDateString);// 二零一八年十一月廿五
Console.WriteLine(today.AnimalString);// 生肖:狗
Console.WriteLine(today.GanZhiDateString);// 干支:戊戌年甲子月丁酉日
Console.WriteLine(today.DateHoliday);// 获取按公历计算的节假日

加密解密

var enc="123456".MDString();// MD5
var enc="123456".MDString("abc");// MD5加盐
var enc="123456".MDString2();// MD5两次
var enc="123456".MDString2("abc");// MD5两次加盐
var enc="123456".MDString3();// MD5三次
var enc="123456".MDString3("abc");// MD5三次加盐string aes = "123456".AESEncrypt();// AES加密为密文
string s = aes.AESDecrypt(); //AES解密为明文
string aes = "123456".AESEncrypt("abc");// AES密钥加密为密文
string s = aes.AESDecrypt("abc"); //AES密钥解密为明文string enc = "123456".DesEncrypt();// DES加密为密文
string s = enc.DesDecrypt(); //DES解密为明文
string enc = "123456".DesEncrypt("abcdefgh");// DES密钥加密为密文
string s = enc.DesDecrypt("abcdefgh"); //DES密钥解密为明文RsaKey rsaKey = RsaCrypt.GenerateRsaKeys();// 生成RSA密钥对
string encrypt = "123456".RSAEncrypt(rsaKey.PublicKey);// 公钥加密
string s = encrypt.RSADecrypt(rsaKey.PrivateKey);// 私钥解密string s = "123".Crc32();// 生成crc32摘要
string s = "123".Crc64();// 生成crc64摘要

项目地址:https://github.com/ldqk/Masuit.Tools

- End -

推荐阅读

  • 最新.NetCore/C#全栈视频教程入门教程

  • 一个基于.Net+Vue开发的开源权限工作流系统

  • 推荐一个不到2MB的C#开发工具箱,集成了上千个常用操作类

  • 推荐一个基于.NET Core 3.1开发开源的分布式任务调度系统

  • .Net服务器性能监控,应用耗时统一监控平台

专注分享编程知识、热门有用有趣的开源项目

相关内容

热门资讯

代码随想录算法训练营第三十八天... 理论基础 1、什么是动态规划? 动态规划,英文:Dynam...
聚集性活动疫情防控方案 聚集性活动疫情防控方案(通用12篇)  为了确定活动的圆满进行,通常需要提前准备好一份活动方案,活动...
跳蚤市场活动方案 跳蚤市场活动方案跳蚤市场活动方案1  一、活动设计意图:  通过让幼儿参与跳蚤市场的买卖活动,将不用...
【SCL】实现简单算法--冒泡... 使用SCL语言实现一个冒泡排序的简单算法 文章目录 目录 文章目录 前言 二、实现排序 1.读...
幼儿园健康游戏活动方案 幼儿园健康游戏活动方案(精选11篇)  为了确保我们的努力取得实效,我们需要事先制定方案,方案是书面...
2023前端求职经历回顾及面试... 文章目录前言一、求职经历二、前端面经1. 投简历的正确打开方式2. 面经及面试题复盘外企面经、面试题...
Javascript如何截取含... Javascript如何截取含有表情的字符串 一、说说背景 社区社交应用中,难免会有输...
【Hello Linux】进程... 作者:@小萌新 专栏:@Linux 作者简介࿱...
读书的活动方案 关于读书的活动方案(通用6篇)  为了确保活动有序地进行,常常需要提前进行细致的活动方案准备工作,活...
学校综合实践活动方案 学校综合实践活动方案(精选20篇)  为了确保工作或事情顺利进行,通常需要预先制定一份完整的方案,方...
志愿者日活动方案 志愿者日活动方案(精选14篇)  为确保活动顺利开展,常常需要预先制定活动方案,活动方案指的是为某一...
小学生书画展活动方案 小学生书画展活动方案范文  为了确保活动能成功举办,常常需要提前准备一份具体、详细、针对性强的活动方...
.vscode 文件夹是什么,... 文章目录背景extensions.jsonsetting.jsonlaunch.jsontask.j...
jsp学生成绩分析及报表打印系... 一、源码特点      JSP学生成绩分析及报表打印系统是一套完善的java web信息管理系统&#...
节约用水主题班会活动方案 节约用水主题班会活动方案(通用6篇)  为了确保活动能无误进行,通常需要提前准备好一份活动方案,一份...
冬游活动方案 冬游活动方案  活动方案的建议  一、活动方案名称  尽可能具体的写出方案名称,如“2012年6月2...
[IDEA_SpringBoo... 关于yml以及yaml配置文件无法被识别的问题 原因可能是 未被加载到spring中/或者是并没有被...
质量月活动方案 质量月活动方案  活动方案的建议  一、活动方案名称  尽可能具体的写出方案名称,如“2012年6月...
Node.js安装与配置 ✅作者简介:CSDN一位小博主,正在学习前端,欢迎大家一起...
文法和语言的基本知识 一、什么形式化的方法用一套带有严格规定的符号体系来描述问题的方法二、什么是非形式化的方法对程序设计语...