"hf mf sniff" low level logics works.
This commit is contained in:
@@ -18,7 +18,7 @@ static unsigned short UpdateCrc14443(unsigned char ch, unsigned short *lpwCrc)
|
||||
}
|
||||
|
||||
void ComputeCrc14443(int CrcType,
|
||||
unsigned char *Data, int Length,
|
||||
const unsigned char *Data, int Length,
|
||||
unsigned char *TransmitFirst,
|
||||
unsigned char *TransmitSecond)
|
||||
{
|
||||
@@ -37,3 +37,12 @@ void ComputeCrc14443(int CrcType,
|
||||
*TransmitSecond = (unsigned char) ((wCrc >> 8) & 0xFF);
|
||||
return;
|
||||
}
|
||||
|
||||
int CheckCrc14443(int CrcType, const unsigned char *Data, int Length) {
|
||||
unsigned char b1;
|
||||
unsigned char b2;
|
||||
if (Length < 3) return 0;
|
||||
ComputeCrc14443(CrcType, Data, Length - 2, &b1, &b2);
|
||||
if ((b1 == Data[Length - 2]) && (b2 == Data[Length - 1])) return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
#ifndef __ISO14443CRC_H
|
||||
#define __ISO14443CRC_H
|
||||
#include "common.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Routines to compute the CRCs (two different flavours, just for confusion)
|
||||
@@ -18,8 +19,9 @@
|
||||
#define CRC_ICLASS 0xE012 /* ICLASS PRERFIX */
|
||||
|
||||
void ComputeCrc14443(int CrcType,
|
||||
unsigned char *Data, int Length,
|
||||
const unsigned char *Data, int Length,
|
||||
unsigned char *TransmitFirst,
|
||||
unsigned char *TransmitSecond);
|
||||
int CheckCrc14443(int CrcType, const unsigned char *Data, int Length);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user