异或校验算法 c语言程序,C# 异或校验算法
C# 的異或校驗算法 直接上代碼
public partial class FormCRC : Form
{
public FormCRC()
{
InitializeComponent();
}
private void FormCRC_Load(object sender, EventArgs e)
{
}
///
/// CRC異或校驗
///
/// 命令字符串
///
private static string CRC(string cmdString)
{
try
{
//CRC寄存器
int CRCCode = 0;
//將字符串拆分成為16進制字節數據然后兩位兩位進行異或校驗
for (int i = 1; i < cmdString.Length / 2; i++)
{
string cmdHex = cmdString.Substring(i * 2, 2);
if (i == 1)
{
string cmdPrvHex = cmdString.Substring((i - 1) * 2, 2);
CRCCode = (byte)Convert.ToInt32(cmdPrvHex, 16) ^ (byte)Convert.ToInt32(cmdHex, 16);
}
else
{
CRCCode = (byte)CRCCode ^ (byte)Convert.ToInt32(cmdHex, 16);
}
}
return Convert.ToString(CRCCode, 16).ToUpper();//返回16進制校驗碼
}
catch
{
throw;
}
}
private void btnConvert_Click(object sender, EventArgs e)
{
try
{
txtCRCCode.Text = CRC(txtCMDString.Text.Replace(" ", ""));
}
catch
{
MessageBox.Show("校驗失敗,請檢查字符串是否包含特殊字符");
}
}
}
執行結果:
數據幀CRC32校驗算法實現
本文設計思想采用明德揚至簡設計法.由于本人項目需要進行光纖數據傳輸,為了保證通信質量要對數據進行校驗.在校驗算法中,最簡單最成熟的非CRC校驗莫屬了. 得出一個數的CRC校驗碼還是比較簡單的: 選定一 ...
CRC校驗算法的實例解析
概念 ? CRC校驗算法,說白了,就是把需要校驗的數據與多項式進行循環異或(XOR), 進行XOR的方式與實際中數據傳輸時,是高位先傳.還是低位先傳有關.對于數據 高位先傳的方式,XOR從數據的高位開 ...
Java CRC16 MODBUS校驗算法實現
/** * CRC校驗算法工具類 */ public class CRCUtil { public static String getCRC(String data) { data = data.re ...
銀行卡luhm校驗算法
/** * 15位銀行卡luhm校驗算法 * 1.從卡號最后一位數字開始,逆向將奇數位(1.3.5等等)相加. * 2.從卡號最后一位數字開始,逆向將偶數位數字,先乘以2(如果乘積為兩位數,則將其減去 ...
常見幾種校驗方法(CS和校驗、CRC16、CRC32、BCC異或校驗)
總結一些通訊協議中常用到的幾種校驗方法: 1.CS和校驗(如:標準188協議校驗方式) /// /// CS和校驗 /// /// & ...
常用校驗算法CRC、MD5、SHA_轉
1.算法概述 數據摘要算法是密碼學算法中非常重要的一個分支,它通過對所有數據提取指紋信息以實現數據簽名.數據完整性校驗等功能,由于其不可逆性,有時候會被用做敏感信息的加密.數據摘要算法也被稱為哈希(H ...
C#校驗算法列舉
以下是工作中常用的幾種校驗算法,后期將不斷更新 和校驗 /// /// CS和校驗 /// ///
Delphi 異或校驗方法
//數據異或校驗function BytesXor(buffer:array of byte):Integer;var i:integer;begin Result:=$0; for i:=Low(b ...
CRC校驗算法學習
原文:http://www.repairfaq.org/filipg/LINK/F_crc_v31.html 本文根據上述鏈接原文翻譯而來,如有錯誤,忘廣大網友互相幫忙糾正,謝謝! 1.前言: 1.0 ...
隨機推薦
Mac上idea快捷鍵
名稱 快捷鍵 代碼提示 ctrl + space 自動修正 alt + enter 查看調用鏈call hierarchy ctrl?+?H 查找文件 雙擊shift 查找類 command + N ...
Linux 信號詳解三(sleep,raise)
sleep()函數 .sleep()函數作用:讓進程睡眠 .能被信號打斷,然后處理信號函數以后,就不再睡眠,直接向下執行代碼 .sleep函數的返回值是剩余秒數 //sleep 函數 #include ...
ZOJ 1109 Language of FatMouse
較簡單字典樹,每輸入一對字符串,前一個放在字典(數組)中,后一個插入字典樹中,并將其最終的flag賦為前一個在數組中的下標,再就好找了.輸入的處理方法要注意一下. 代碼: #include
關于mysql varchar 類型的最大長度限制
Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This ...
對進度條progressbar的調整
進度條的理解,感覺這個進度條不是那么簡單,系統給我們定制了幾個普通的,但是如果還需要有更加好的效果,需要自己去調試.
sql中的CHARINDEX和暫時表
update #temp set #temp.Recycle=case when UnionA.num>0 then 1 else 0 end from (select GradeID,sum( ...
java 文件字符輸入、輸出流
Example10_6.java import java.io.*; public class Example10_6 { public static void main(String args[]) ...
Eclipse 出現項目沒有錯但是項目名稱卻有紅色感嘆號或者紅叉的解決辦法
錯誤的起因是本人因為一不小心點了下面圈出來的某一個按鈕,具體記不清楚了(好像是"remove from build path"),然后整個項目變得很奇怪了,所有的包都變成了一個普通 ...
C#動態操作DataTable(新增行、列、查詢行、列等)
public void CreateTable() { //創建表 DataTable dt = new DataTable(); //1.添加列 dt.Columns.Add("Name& ...
python的oop概述
python是面向對象的語言,那么究竟什么是面向對象? 首先理解類 類:在中文中的定義,許多相同或相似事物的綜合.根據這個定義,類是許多相同或相似的實物聚在一起的.譬如,人類,鳥類,花類等. 面向對象 ...
總結
以上是生活随笔為你收集整理的异或校验算法 c语言程序,C# 异或校验算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: schema 对象的简单介绍
- 下一篇: 「数据架构」什么是数据流程图(DFD)?