From 342bc8fe010aa9856c3328cfbd381fa997b67883 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Bernard-Allies?= Date: Thu, 6 Apr 2017 13:12:45 +0200 Subject: [PATCH] Simplify code of CRC24 checksum in armor encoding --- src/encoding/armor.js | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/src/encoding/armor.js b/src/encoding/armor.js index 68607308..aec5f7eb 100644 --- a/src/encoding/armor.js +++ b/src/encoding/armor.js @@ -181,30 +181,9 @@ var crc_table = [ function createcrc24(input) { var crc = 0xB704CE; - var index = 0; - while ((input.length - index) > 16) { + for (var index = 0; index < input.length; index++) { crc = (crc << 8) ^ crc_table[((crc >> 16) ^ input[index]) & 0xff]; - crc = (crc << 8) ^ crc_table[((crc >> 16) ^ input[index + 1]) & 0xff]; - crc = (crc << 8) ^ crc_table[((crc >> 16) ^ input[index + 2]) & 0xff]; - crc = (crc << 8) ^ crc_table[((crc >> 16) ^ input[index + 3]) & 0xff]; - crc = (crc << 8) ^ crc_table[((crc >> 16) ^ input[index + 4]) & 0xff]; - crc = (crc << 8) ^ crc_table[((crc >> 16) ^ input[index + 5]) & 0xff]; - crc = (crc << 8) ^ crc_table[((crc >> 16) ^ input[index + 6]) & 0xff]; - crc = (crc << 8) ^ crc_table[((crc >> 16) ^ input[index + 7]) & 0xff]; - crc = (crc << 8) ^ crc_table[((crc >> 16) ^ input[index + 8]) & 0xff]; - crc = (crc << 8) ^ crc_table[((crc >> 16) ^ input[index + 9]) & 0xff]; - crc = (crc << 8) ^ crc_table[((crc >> 16) ^ input[index + 10]) & 0xff]; - crc = (crc << 8) ^ crc_table[((crc >> 16) ^ input[index + 11]) & 0xff]; - crc = (crc << 8) ^ crc_table[((crc >> 16) ^ input[index + 12]) & 0xff]; - crc = (crc << 8) ^ crc_table[((crc >> 16) ^ input[index + 13]) & 0xff]; - crc = (crc << 8) ^ crc_table[((crc >> 16) ^ input[index + 14]) & 0xff]; - crc = (crc << 8) ^ crc_table[((crc >> 16) ^ input[index + 15]) & 0xff]; - index += 16; - } - - for (var j = index; j < input.length; j++) { - crc = (crc << 8) ^ crc_table[((crc >> 16) ^ input[index++]) & 0xff]; } return crc & 0xffffff; }