分享一个帮助类(不断完善中...)

Posted 大树老周

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分享一个帮助类(不断完善中...)相关的知识,希望对你有一定的参考价值。

博客园潜水了有两年多,现在想分享一个可以说是帮助类吧。

我们在编写程序的过程中,经常会用到一些方法,我只是把这些方法整合一下,方便使用,目前有md5,sha1,aes加解密,身份证验证,敏感词过滤,文件压缩,图片与base64互相转换,时间戳与时间互相转换,简单的http请求,简单的ftp上传下载,根据起始和结尾字符串截取字符串等等,后续准备把日志记录,支付宝和微信支付进行添加,方便使用,如果你在编程的过程中有比较常用的方法,可以提出来,我们可以一起来完善这个帮助类,如果有不对的地方,恳请指正批评,谢谢大家,喜欢可以分享哦。

nuget:Install-Package ToolHelper -Version 1.2.2

github:https://github.com/cxzzx007/ToolHelper

 

只需三步走,我们就可以使用这些方法了。

  1,nuget 安装 ToolHelper

    

 

 

  2,添加命名空间

  

  3,开始使用

下面介绍这个帮助类目前有的的一些方法:

MD5Helper(对字符串进行MD5):

Console.WriteLine($"123456:{MD5Helper.MD5("123456")}");

 

SHA1Helper(对字符串进行SHA1):

Console.WriteLine($"123456:{SHA1Helper.SHA1("123456")}");

 

IllegalWordHelper(敏感非法词汇过滤):

var info = "针孔摄象,你懂的";
Console.WriteLine($"{info}:{IllegalWordHelper.Filter(info)}");

当然你也可以自己定义需要过滤的词汇,以竖线 ‘|’ 分割:

 var info = "针孔摄象,你懂的";
 var selfFilter = "针孔|你懂的|怎么说";
 Console.WriteLine($"{info}:{IllegalWordHelper.Filter(info, selfFilter)}");

 

 

AESHelper(aes加密、解密):

加密:

Console.WriteLine($"123456:{AESHelper.Encrypt("123456")}");

解密:

Console.WriteLine($"ApZg+nlV6IEE+Cly2o9inQ==:{AESHelper.Decrypt("ApZg+nlV6IEE+Cly2o9inQ==")}");

当然为了安全起见,你可以自定义自己的 16位或者32位key  和16位的iv:

自定义加密:

  var selfKey = "abcdefghijklmnop";
  var selfIV = new byte[] { 0x7f, 0x0a, 0x2d, 0x96, 0x94, 0xa5, 0xc2, 0x7b, 0xaa, 0x89, 0x00, 0x8b, 0xf3, 0xab, 0x15, 0xfd, };
  Console.WriteLine($"123456:{AESHelper.Encrypt("123456", selfKey, selfIV)}");

自定义解密:

   var selfKey = "abcdefghijklmnop";
   var selfIV = new byte[] { 0x7f, 0x0a, 0x2d, 0x96, 0x94, 0xa5, 0xc2, 0x7b, 0xaa, 0x89, 0x00, 0x8b, 0xf3, 0xab, 0x15, 0xfd, };
   Console.WriteLine($"Vju1+MLzN5VUlNua+HhMkA==:{AESHelper.Decrypt("Vju1+MLzN5VUlNua+HhMkA==", selfKey, selfIV)}");

 

CheckHelper(对手机号、身份证等进行简单的验证):

Console.WriteLine($"123456,{CheckHelper.IsIDNumber("123456")}");
Console.WriteLine($"123456,{CheckHelper.IsMobile("123456")}");

 

 StringHelper(根据起始和结尾的字符串来截取字符串):

Console.WriteLine($"针孔摄像头,{StringHelper.Substring("针孔摄像头", "针孔", "")}");

 

TimeHelper(13位时间戳和时间的相互转换):

Console.WriteLine($"时间戳:{TimeHelper.GetTimestamp()}");
Console.WriteLine($"时间:{TimeHelper.TimestampToDate("1533570979682")}");

 

ImageHelper(图片转base64字符串,字节数组,base64字符串转图片):

图片转base64:

 var path = @"C:\\Project\\study\\Study\\ToolHelperTestNuget\\huge.jpg";
 Console.WriteLine($"base64 string:{ImageHelper.ImageToBase64(path)}");

base64转图片:

 var path = @"C:\\Project\\study\\Study\\ToolHelper\\ToolHelperTestNuget\\huge.jpg";
 ImageHelper.Base64ToImage(ImageHelper.ImageToBase64(path), "e:/images/hugehello.jpg");

 

参考:

https://github.com/toolgood/ToolGood.Words

以上是关于分享一个帮助类(不断完善中...)的主要内容,如果未能解决你的问题,请参考以下文章

[原创]分享一个轻量级日志类

程序员必须收藏的网站整理(不断完善中)

译文:18个实用的JavaScript代码片段,助你快速处理日常编程任务

收藏|分享前端开发常用代码片段

宿主手机联系人通话记录短信工具类(不断完善中。。。)

在内部片段类中使用ListView