解决方案 »
- c#处理上百万上千万条数据的方法(面试题目)
- 阅读器关闭时尝试调用 Read 无效,解决方法
- 问一个新手菜鸟的问题:前台(不用控件)如何显示后台某变量内容!(asp.net)
- c#执行数据库语句的回滚?
- 求C#的WINFORM如何读这种格式的XML
- 100分 急寻《c#入门经典》这本书最后3章的2个案例和一个范例的源代码! 马上就可以给分!
- winform中如何让datagridview自适应数据量
- 让webbrowser 禁止自动刷新 refresh
- 一个紧急的问题,请各位高手帮助!!!!
- java的md5,base64转成c#的md5,base64
- Help!! 默认路径的问题。
- 如何打包windows 服务?
{
const ushort CRCNUM = 0xa001;
byte test, crclow, crchigh, recode;
uint j, crcnum = 0xffff, t;
if (len == 0) return 0xFF;
for (int i = 1; i <= len; i++)
{
test = (byte)pack[i - 1];
crclow = (byte)crcnum;
crchigh = (byte)(crcnum >> 8);
crcnum = (uint)(test ^ crclow) + ((uint)crchigh) * 256;
for (j = 1; j <= 8; j++)
{
t = crcnum & 0x0001;
crcnum = crcnum >> 1;
if (t != 0)
{
crcnum = crcnum ^ CRCNUM;
}
}
}
recode = (byte)crcnum;
return (recode);
}
用VIPY000007来计算,得到的 crcnum 都是 56859然后这样转换byte[] rebuf = BitConverter.GetBytes(crcnum);
string Re = Convert.ToBase64String(rebuf);
rebuf[0]=27,rebuf[1]=222
1楼的算法得到的是27
转换的Re="G94="
算法估计没有错,但是不知道怎么转换得到校验码1D
Encoding.Default.GetBytes("1D")得到buf[0]=49,buf[1]=68
结果是1B