This is most likely a character based XOR. You will need to get samples from them to check, but most checksums usually end with 0.
So, for the XOR checksum, you will have the package:
Bob,001X
where X is the checksum, and when you XOR all these characters together, you will most likely get 0.
So, to handle X, you just XOR all the characters in "Bob, 001". This is due to the fact that N xor N is always 0, for any N.
Now it may happen that X will have two hexadecimal characters if you are allowed to have only alphanumeric characters. To do this, you need either data samples (so that we can fix it) or the correct specification (which the device manufacturer must provide).
What actual device do you mean? This may be information on the Internet that shows how to do this.
Based on the update:
This is a PMS Amadeus Hospitality device. Not all of them say that this should be done for all characters. excluding STX and ETX.
You will need to get some sample data for confirmation, but most likely this will lead to data flow:
Running Data ChkSum
The position of the checksum may vary, and indeed its calculation may vary, although this is much less likely. I do not think that much more can be done without sample data or additional information from the supplier. A quick search on the Internet did not find technical details.
source share