Skip to content

Instantly share code, notes, and snippets.

@alexandrebl
Created May 10, 2017 02:01
Show Gist options
  • Select an option

  • Save alexandrebl/3ab20eeab4a2972c242555adaa268d7d to your computer and use it in GitHub Desktop.

Select an option

Save alexandrebl/3ab20eeab4a2972c242555adaa268d7d to your computer and use it in GitHub Desktop.
#include <boost/crc.hpp>
#include <ios>
#include <iostream>
#include <string>
//Define namespace
using namespace std;
//Main method
int main()
{
//Dados
string data1, data2, data3;
//CRC 16
boost::crc_16_type result1, result2, result3;
//Define example data
data1 = "This is a test string";
data2 = "This is a test string";
data3 = "This is a test strings";
//CRC Process
result1.process_bytes(data1.c_str(), data1.length());
//View result
cout << "result1: " << hex << uppercase << result1.checksum() << endl;
//CRC Process
result2.process_bytes(data1.c_str(), data2.length());
//View result
cout << "result2: " << hex << uppercase << result2.checksum() << endl;
//CRC Process
result3.process_bytes(data1.c_str(), data3.length());
//View result
cout << "result3: " << hex << uppercase << result3.checksum() << endl;
//Verify checksum
if(result1.checksum() == result2.checksum()){
//Console message
cout << "Results 1 e 2 - valid checksum" << endl;
}else{
//Console message
cout << "Results 1 e 2 - invalid checksum" << endl;
}
//Verify checksum
if(result1.checksum() == result3.checksum()){
//Console message
cout << "Results 1 e 3 - valid checksum" << endl;
}else{
//Console message
cout << "Results 1 e 3 - invalid checksum" << endl;
}
//Return
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment