Advertisement
Loadus

Untitled

Apr 19th, 2019
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.49 KB | None | 0 0
  1. C++:
  2. void OTWriter::setChecksum()
  3. {
  4. uint16_t value = 0;
  5. unsigned char* bytePos = reinterpret_cast<unsigned char*>(&otData);
  6. for (int i = 16; i < sizeof(otData) - 2; i++)
  7. value += bytePos[i];
  8.  
  9. otData.checkSum = SYSTEM_USE_LITTLE_ENDIAN ? __builtin_bswap16(value) : value;
  10. }
  11.  
  12. JAVA:
  13. // TODO
  14. // This calculation is wrong
  15. int Checksum (byte[] data) {
  16. int checkSum = 0;
  17. for(byte b : data) {
  18. checkSum += b & 0xffff;
  19. }
  20. return checkSum;
  21. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement