美文网首页
CRC16校验--flutter

CRC16校验--flutter

作者: YOYO是菜鸟 | 来源:发表于2020-04-09 09:25 被阅读0次
 ///CRC16校验  list是需要增加校验位的数据
  static String getCRC(List list){
    int CRC = 0x000ffff;
    int POLYNOMIAL=0X0000a001;
    int i,j;
    int length=list.length;
    for(i=0;i<length;i++){
      CRC ^=(list[i]);
      for(j=0;j<8;j++){
        if(CRC & 0x00000001==1){
          CRC >>=1;
          CRC ^=POLYNOMIAL;
        }else{
          CRC>>=1;
        }
      }
    }
    CRC = ( (CRC & 0x0000FF00) >> 8) | ( (CRC & 0x000000FF ) << 8);
    var checknode=CRC.toRadixString(16);
    //print("校验码:"+checknode);
    return checknode;
  }

相关文章

网友评论

      本文标题:CRC16校验--flutter

      本文链接:https://www.haomeiwen.com/subject/sdrqmhtx.html