diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2016-03-07 23:53:46 +1300 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2016-03-07 23:53:46 +1300 |
commit | 77158ade988919ce63c905f8328dc6af2ac097c3 (patch) | |
tree | 0444e2d27efcd7a2822b9c7abc53864aef153133 /src/org/traccar/helper | |
parent | 62ddfb226a55384fdfd1e0dd5a0436d55bb53d49 (diff) | |
download | trackermap-server-77158ade988919ce63c905f8328dc6af2ac097c3.tar.gz trackermap-server-77158ade988919ce63c905f8328dc6af2ac097c3.tar.bz2 trackermap-server-77158ade988919ce63c905f8328dc6af2ac097c3.zip |
Change Meitrack encoder implementation
Diffstat (limited to 'src/org/traccar/helper')
-rw-r--r-- | src/org/traccar/helper/Checksum.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/org/traccar/helper/Checksum.java b/src/org/traccar/helper/Checksum.java index e6b6cd2c8..c156e53f7 100644 --- a/src/org/traccar/helper/Checksum.java +++ b/src/org/traccar/helper/Checksum.java @@ -158,13 +158,20 @@ public final class Checksum { public static String nmea(String msg) { int checksum = 0; - byte[] bytes = msg.getBytes(Charset.defaultCharset()); - for (int i = 1; i < msg.length(); i++) { - checksum ^= bytes[i]; + for (byte b : msg.getBytes(Charset.defaultCharset())) { + checksum ^= b; } return String.format("*%02x", checksum).toUpperCase(); } + public static String sum(String msg) { + byte checksum = 0; + for (byte b : msg.getBytes(Charset.defaultCharset())) { + checksum += b; + } + return String.format("%02X", checksum).toUpperCase(); + } + public static long luhn(long imei) { long checksum = 0; long remain = imei; |