嗨香港專業教育學院在網上搜索,並在這裏,並認爲唯一的解決辦法是問某人既熟悉LUA和C#...C#CRC8位LUA功能
我有一個CRC的8位代碼片段基本上我需要Lua ... 即時通訊新的Lua,但已設法編寫一些代碼來解決問題,但有一個新版本,需要對每條消息的8位CRC校驗...
我不得不穀歌什麼CRC檢查是如何完成的,我認爲我已經理解了這個概念......我完全無法知道如何在Lua中編寫腳本......我找到了一段c#代碼,它說這是一個簡單的通用8位crc計算,我想如果這是在我可以適應它,但似乎沒有直接轉換設施在網絡上的任何地方...
我注意到你們之前曾幫助過類似的問題,並希望你現在可以幫助我......我必須簽署一份保密協議來閱讀它,因此不會發布代碼,並且對細節略微保密......但是如果我發佈這個非特定的通用8位CRC計算例程,也許有人可以爲我轉換它或在Lua中編寫類似的腳本?爲了我的目的,我只需要「解碼」一個十六進制字節的字符串(很確定我剛剛做了這個!),並告訴接收方CRC校驗的結果應該是什麼...
所以我有一個字符串像十六進制的: 3F 12 34 22 22 09(完全由和無意義例如)
,我需要一個8 BI CRC校驗結果添加到 下面是一般的8位校驗(希望有意義!) C#code我找到了:
private byte calcCRC8(ref byte[] data, int bytes)
{
byte crc = 0xff;
byte poly = 0x85;
int i, j;
for (i = 0; i < bytes; i++)
{
crc ^= data[i];
for (j = 0; j < 8; j++)
{
if ((crc & 0x80) == 0x80)
{
crc = (byte)((crc << 1)^poly);
}
else
{
crc = (byte)(crc << 1);
}
}
}
return crc;
}
任何援助將大爲讚賞,
薩姆
https://www.lua.org/pil/contents.html – Fildor
你知道你的多項式嗎?你有沒有正確CRC值的數據例子?什麼是'3F 12 34 22 22 09'的正確CRC? –
這不是代碼翻譯服務。要麼學習Lua要麼付錢給誰。 – Piglet