Merge pull request from BAKFR/simplify-crc24

Simplify code of CRC24 checksum in armor encoding
This commit is contained in:
Bart Butler 2017-04-06 11:19:45 -07:00 committed by GitHub
commit a5728c1280

View File

@ -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;
}