C#CRC32校验之CRC-32MPEG-2算法

C#CRC32校验之CRC-32MPEG-2算法先引⽤⼏条链接:
3.全套CRC校验 C的实现
4.C#  CRC32校验 之 CRC-32/MPEG-2算法的实现:
铜瓦//1EA90DFF
南瓜的力量string s = "E4BFA10813100000";
/// <summary>
/// 进⾏CRC32验证
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string CRC32_MPEG_2_Str(string str)
{
uint[] CRC32_Data;
CRC32_Data = strToToHexByte(str);
UInt32 CRC32_Result = 0;
CRC32_Result = CRC32_MPEG_2(CRC32_Data, CRC32_Data.Length);
string temp=(CRC32_Result.ToString("X4"));
temp = temp.Length == 8 ? temp : "0" + temp;
return  temp;
}
private static uint[] strToToHexByte(string hexString)
{
hexString = hexString.Replace(" ", "");
if ((hexString.Length % 2) != 0)
hexString += " ";
uint[] returnBytes = new uint[hexString.Length / 2];兰州交通大学学报
海南第二中学
for (int i = 0; i < returnBytes.Length; i++)
returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
return returnBytes;
}
/// <summary>
秩序作文/// 获取⽂件的CRC32标识
/// </summary>
/
// <param name="filePath"></param>
/// <returns></returns>
private  static UInt32 CRC32_MPEG_2(uint[] data, int length)
{
uint i;
UInt32 crc = 0xffffffff, j = 0;
顽皮豆豆while ((length--) != 0)
{
crc ^= (UInt32)data[j] << 24;
j++;
for (i = 0; i < 8; ++i)
{
if ((crc & 0x80000000) != 0)
crc = (crc << 1) ^ 0x04C11DB7;
else
crc <<= 1;
}
}
return crc;
}

本文发布于:2024-09-20 16:37:27,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/603150.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:实现   学报   南瓜   海南   秩序   大学
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议