C# 异或校验算法】的更多相关文章

C# 的异或校验算法 直接上代码 public partial class FormCRC : Form { public FormCRC() { InitializeComponent(); } private void FormCRC_Load(object sender, EventArgs e) { } /// <summary> /// CRC异或校验 /// </summary> /// <param name="cmdString">命…
本文设计思想采用明德扬至简设计法.由于本人项目需要进行光纤数据传输,为了保证通信质量要对数据进行校验.在校验算法中,最简单最成熟的非CRC校验莫属了. 得出一个数的CRC校验码还是比较简单的: 选定一个CRC生成多项式G(x): 将发送数据左移K位,右侧补零(其中K为生成多项式最高次幂): 用移位补零后的数据对G(x)进行模2除法(其实就是异或运算): 用得到的余数即为该数据的CRC校验码: 发送端将移位补零后数据的低K位0替换成CRC校验码组成新的数据发送出去,接收端对带有校验码的数据对同样的…
概念   CRC校验算法,说白了,就是把需要校验的数据与多项式进行循环异或(XOR), 进行XOR的方式与实际中数据传输时,是高位先传.还是低位先传有关.对于数据 高位先传的方式,XOR从数据的高位开始,我们就叫它顺序异或吧:对于数据低位先传的方式,XOR从数据的低位开始,我们就叫它反序异或吧.两种不同的异或方式, 即使 对应相同的多项式,计算出来的结果也是不一样的. 实例解析   两种不同类型的写法: #include <stdio.h> typedef unsigned char uint…
/** * CRC校验算法工具类 */ public class CRCUtil { public static String getCRC(String data) { data = data.replace(" ", ""); int len = data.length(); if (!(len % 2 == 0)) { return "0000"; } int num = len / 2; byte[] para = new byte[nu…
/** * 15位银行卡luhm校验算法 * 1.从卡号最后一位数字开始,逆向将奇数位(1.3.5等等)相加. * 2.从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,则将其减去9),再求和. * 3.将奇数位总和加上偶数位总和,结果应该可以被10整除. * @param temp 前15位 * @return 有效卡返回原卡号,无效卡返回空字符串 */ public static String luhm(String temp) { String result = "&q…
总结一些通讯协议中常用到的几种校验方法: 1.CS和校验(如:标准188协议校验方式) /// <summary> /// CS和校验 /// </summary> /// <param name="Abyte"></param> /// <returns></returns> public static byte Check_CS(byte[] Abyte) { byte result = new byte();…
1.算法概述 数据摘要算法是密码学算法中非常重要的一个分支,它通过对所有数据提取指纹信息以实现数据签名.数据完整性校验等功能,由于其不可逆性,有时候会被用做敏感信息的加密.数据摘要算法也被称为哈希(Hash)算法或散列算法. 1.1 CRC8.CRC16.CRC32 CRC(Cyclic Redundancy Check,循环冗余校验)算法出现时间较长,应用也十分广泛,尤其是通讯领域,现在应用最多的就是 CRC32 算法,它产生一个4字节(32位)的校验值,一般是以8位十六进制数,如FA 12…
以下是工作中常用的几种校验算法,后期将不断更新 和校验 /// <summary> /// CS和校验 /// </summary> /// <param name="bytesToCalc">要进行CS和校验的byte数组.</param> /// <returns>System.Byte[].</returns> public static byte[] CsChecksum(byte[] bytesToCal…
//数据异或校验function BytesXor(buffer:array of byte):Integer;var i:integer;begin Result:=$0; for i:=Low(buffer) to High(buffer) do begin result:=result xor buffer[i]; end;end;…
原文:http://www.repairfaq.org/filipg/LINK/F_crc_v31.html 本文根据上述链接原文翻译而来,如有错误,忘广大网友互相帮忙纠正,谢谢! 1.前言: 1.0 作者 作者:Ross N. Williams 电子邮件ross@guest.adelaide.edu.au 日期:1993年8月19日 版本:3 1.1 代码示例 crcmodel.h  crctable.c crcmodel.c 1.2 摘要 2.简介:错误校验 错误校验的目的是通过检验传输信号…