博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【13】MD5编码、Zlib压缩解压缩
阅读量:5021 次
发布时间:2019-06-12

本文共 3864 字,大约阅读时间需要 12 分钟。

1.MD5加密

1     ///    2     /// 使用MD5加密算法   3     ///    4     /// 需要加密的字符串   5     /// 
加密后返回字符串
6 public static string GetMD5String(string md5MessageStr) 7 { 8 using (MD5 md5 = new MD5CryptoServiceProvider()) 9 { 10 byte[] convertValue = Encoding.UTF8.GetBytes(md5MessageStr); 11 byte[] resultValue = md5.ComputeHash(convertValue); 12 string strResult = string.Empty; 13 for (int i = 0; i < 16; i++) 14 { 15 strResult += resultValue[i].ToString("x2"); 16 } 17 return strResult; 18 } 19 }

 

2.Zlib压缩解压缩

nuget获取zlib.net

1         using System;   2         using System.Collections.Generic;   3         using System.IO;   4         using System.Linq;   5         using System.Web;   6         using zlib;   7            8         namespace LargePlatformService.Logic   9         {  10             public class ZLibNetHelper  11             {  12                 ///     13                 /// zlib.net 解压函数    14                 ///     15                 /// 带解压数据源    16                 /// 
解压后的数据
17 public static string DeflateDecompress(string strSource) 18 { 19 int data = 0; 20 int stopByte = -1; 21 byte[] Buffer = Convert.FromBase64String(strSource); // 解base64 22 MemoryStream intms = new MemoryStream(Buffer); 23 zlib.ZInputStream inZStream = new zlib.ZInputStream(intms); 24 List
inByteList = new List
(); 25 int i = 0; 26 while (stopByte != (data = inZStream.Read())) 27 { 28 inByteList.Add((byte)data); 29 } 30 inZStream.Close(); 31 return System.Text.Encoding.UTF8.GetString(inByteList.ToArray(), 0, inByteList.Count); 32 33 } 34 35 ///
36 /// zlib.net 压缩函数 37 /// 38 ///
待压缩数据 39 ///
压缩后数据
40 public static string DeflateCompress(string strSource) 41 { 42 MemoryStream outms = new MemoryStream(); 43 byte[] bytes = System.Text.Encoding.UTF8.GetBytes(strSource); 44 MemoryStream inms = new MemoryStream(bytes); 45 zlib.ZOutputStream outZStream = new zlib.ZOutputStream(outms, zlib.zlibConst.Z_DEFAULT_COMPRESSION); 46 try 47 { 48 CopyStream(inms, outZStream); 49 } 50 catch (Exception ex) 51 { 52 throw ex; 53 } 54 finally 55 { 56 outZStream.Close(); 57 } 58 return Convert.ToBase64String(outms.ToArray()); 59 } 60 61 62 public static void CopyStream(System.IO.Stream input, System.IO.Stream output) 63 { 64 byte[] buffer = new byte[2000]; 65 int len; 66 while ((len = input.Read(buffer, 0, 2000)) > 0) 67 { 68 output.Write(buffer, 0, len); 69 } 70 output.Flush(); 71 } 72 } 73 }

 

转载于:https://www.cnblogs.com/pengdylan/p/7603111.html

你可能感兴趣的文章
安卓动画有哪几种?他们的区别?
查看>>
Nodejs学习总结 -Express入门(一)
查看>>
web前端优化
查看>>
ssh 连接原理及ssh-keygen
查看>>
vs2013编译qt程序后中文出现乱码
查看>>
【转】IOS数据库操作SQLite3使用详解
查看>>
Android官方技术文档翻译——ApplicationId 与 PackageName
查看>>
设计网站大全
查看>>
JVM CUP占用率过高排除方法,windows环境
查看>>
【转】JAVA字符串格式化-String.format()的使用
查看>>
【转】ButterKnife基本使用--不错
查看>>
【转】VS2012编译出来的程序,在XP上运行,出现“.exe 不是有效的 win32 应用程序” “not a valid win32 application”...
查看>>
函数中关于const关键字使用的注意事项
查看>>
微信架构(转)
查看>>
Web项目中的路径问题
查看>>
js随机数的取整
查看>>
关于解析漏洞
查看>>
十大经典预测算法(六)---集成学习(模型融合算法)
查看>>
用php做一个简单的注册用户功能
查看>>
一款基于css3的3D图片翻页切换特效
查看>>