diff options
author | Hans van den Elsen <hans.elsen@esds.nl> | 2016-03-11 22:16:25 +0100 |
---|---|---|
committer | Hans van den Elsen <hans.elsen@esds.nl> | 2016-03-11 22:16:25 +0100 |
commit | 4606737cc07b736f9c8f98ae680b928c94c082c8 (patch) | |
tree | bdd29b24a16403b1e8a3d7cd4325391063b34b8a /src/org/traccar/helper/Checksum.java | |
parent | 3ced99384b1967f5cde9abdf30c1c0184a5ae3f6 (diff) | |
parent | ab5d21e16ac44957e04da0f06daf148af95e96be (diff) | |
download | trackermap-server-4606737cc07b736f9c8f98ae680b928c94c082c8.tar.gz trackermap-server-4606737cc07b736f9c8f98ae680b928c94c082c8.tar.bz2 trackermap-server-4606737cc07b736f9c8f98ae680b928c94c082c8.zip |
Merge remote-tracking branch 'refs/remotes/tananaev/master'
Diffstat (limited to 'src/org/traccar/helper/Checksum.java')
-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; |