当前位置: 首页 > news >正文

网站建设和维护的教程网站网络优化服务器

网站建设和维护的教程,网站网络优化服务器,南京做网站的额,中国最好的网络营销公司咨询区 Nick Berardi请问我如何通过 C# 计算 string 的 crc32 校验和#xff1f;回答区 Pete我一直震撼的一件事就是 .NET 底层框架中居然没有提供对 CRC32 的直接支持#xff0c;CRC32 一直都是 ZIP,RAR 压缩中做校验和的绝佳方案#xff0c;在 .NET 中你可以这么使用。var… 咨询区 Nick Berardi请问我如何通过 C# 计算 string 的 crc32 校验和回答区 Pete我一直震撼的一件事就是 .NET 底层框架中居然没有提供对 CRC32 的直接支持CRC32 一直都是 ZIP,RAR 压缩中做校验和的绝佳方案在 .NET 中你可以这么使用。var crc32  new Crc32(); var hash  String.Empty;using (var fs  File.Open(c:\\myfile.txt, FileMode.Open))foreach (byte b in crc32.ComputeHash(fs)) hash  b.ToString(x2).ToLower();Console.WriteLine(CRC-32 is {0}, hash);更详细的资料可参考https://damieng.com/blog/2006/08/08/calculating_crc32_in_c_and_net 和 https://github.com/damieng/DamienGKit/blob/master/CSharp/DamienG.Library/Security/Cryptography/Crc32.csSharpC上面朋友的回答是基于 File 的方式其实替换成 string 会更加直接方便我的项目中定义了一个 Crc32 帮助类代码如下/// summary /// Performs 32-bit reversed cyclic redundancy checks. /// /summary public class Crc32 {#region Constants/// summary/// Generator polynomial (modulo 2) for the reversed CRC32 algorithm. /// /summaryprivate const UInt32 s_generator  0xEDB88320;#endregion#region Constructors/// summary/// Creates a new instance of the Crc32 class./// /summarypublic Crc32(){// Constructs the checksum lookup table. Used to optimize the checksum.m_checksumTable  Enumerable.Range(0, 256).Select(i {var tableEntry  (uint)i;for (var j  0; j  8; j){tableEntry  ((tableEntry  1) ! 0)? (s_generator ^ (tableEntry  1)) : (tableEntry  1);}return tableEntry;}).ToArray();}#endregion#region Methods/// summary/// Calculates the checksum of the byte stream./// /summary/// param namebyteStreamThe byte stream to calculate the checksum for./param/// returnsA 32-bit reversed checksum./returnspublic UInt32 GetT(IEnumerableT byteStream){try{// Initialize checksumRegister to 0xFFFFFFFF and calculate the checksum.return ~byteStream.Aggregate(0xFFFFFFFF, (checksumRegister, currentByte)  (m_checksumTable[(checksumRegister  0xFF) ^ Convert.ToByte(currentByte)] ^ (checksumRegister  8)));}catch (FormatException e){throw new CrcException(Could not read the stream out as bytes., e);}catch (InvalidCastException e){throw new CrcException(Could not read the stream out as bytes., e);}catch (OverflowException e){throw new CrcException(Could not read the stream out as bytes., e);}}#endregion#region Fields/// summary/// Contains a cache of calculated checksum chunks./// /summaryprivate readonly UInt32[] m_checksumTable;#endregion }帮助类定义好后接下来就可以这么使用了。var arrayOfBytes  Encoding.ASCII.GetBytes(The quick brown fox jumps over the lazy dog);var crc32  new Crc32(); Console.WriteLine(crc32.Get(arrayOfBytes).ToString(X));对了你可以用 https://crccalc.com/ 以在线的方式来测试你的 crc32 的输入输出。点评区 两位大佬提供的方式不错学习了最后的 Online https://crccalc.com/ 太方便了有兴趣可以尝试一下。
http://www.zqtcl.cn/news/783571/

相关文章:

  • 白云做网站要多少钱wordpress指定分类子类
  • 侧导航网站济南网上房地产
  • 做得比较好的公司网站自己可以学做网站吗
  • 陕西省两学一做网站产品推广方案
  • 做网站ps文字有锯齿网站建设项目管理基本要求
  • 大连网站制作的网络科技公司取名创意
  • 哈尔滨企业网站建站推荐专业微网站营销
  • 阿里云模板建站怎么样上海免费建站模板
  • 中企动力网站建设合同织梦商业网站内容管理系统
  • 厦门石材网站建设个人网页模板制作
  • 网站建设责任分工手机兼职群
  • 做网站维护的收入怎么确认网校网站毕业设计的方案
  • 商丘网站建设想象力网络普洱做网站的报价
  • wordpress前端是什么网站建设备案优化
  • 琼海市建设局网站网络宣传网站建设制作
  • 怎样做返利网站apple私人免费网站怎么下载
  • 靖宇东兴自助建站深圳网站建设 排行榜
  • 怎样编辑网站梅州免费建站
  • 桂林北站怎么去阳朔简易网页
  • 百度123123网址大全无忧网站优化
  • 做个人网站用什么程序怎么建设一个人自己网站
  • 怎么样建设网站网站通州建设局网站
  • 网站备案有期限吗洛阳宣传片制作公司
  • 给wordpress添加引导页seo营销的策略有哪些
  • 聚美联盟网站怎么做金空间网站
  • 域名注册网站的域名哪里来的更改网站模板内容
  • 南京网站设计网站wordpress选择模板没
  • 河南省网站集约化建设国内房地产设计网站建设
  • 长治招聘网站建设电话销售精准客户资源
  • 灵璧有做公司网站的吗自定义wordpress