Added XTEA and Pearson Hashing.
Improved message encryption for RF24.
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
#include "CRC16.h"
|
||||
|
||||
|
||||
uint16_t CRC16::calcCRC(const void* data, uint16_t len) {
|
||||
uint16_t _crc = 0xffff;
|
||||
for (uint16_t i = 0; i < len; i++) {
|
||||
_crc = _crc16_update(_crc, ((uint8_t*)data)[i]);
|
||||
}
|
||||
return _crc;
|
||||
}
|
||||
|
||||
bool CRC16::checkCRC(uint16_t crc, const void* data, uint16_t len) {
|
||||
return crc == calcCRC(data, len);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
#ifndef _CRC16_H_
|
||||
#define _CRC16_H_
|
||||
|
||||
#include <stdint.h>
|
||||
#include <util/crc16.h>
|
||||
|
||||
|
||||
class CRC16 {
|
||||
public:
|
||||
uint16_t calcCRC(const void* data, uint16_t len);
|
||||
inline bool checkCRC(uint16_t crc, const void* data, uint16_t len);
|
||||
};
|
||||
|
||||
|
||||
#endif /* _CRC16_H_ */
|
||||
Reference in New Issue
Block a user