#include #include #include #include #include #include #include BOOST_AUTO_TEST_SUITE(fc_crypto) BOOST_AUTO_TEST_CASE(aes_test) { std::ifstream testfile; testfile.open("README.md"); auto key = fc::sha512::hash( "hello", 5 ); std::stringstream buffer; std::string line; std::getline( testfile, line ); while( testfile.good() ) { // std::cout << line << "\n"; buffer << line << "\n"; try { std::vector data( line.c_str(),line.c_str()+line.size()+1 ); std::vector crypt = fc::aes_encrypt( key, data ); std::vector dcrypt = fc::aes_decrypt( key, crypt ); BOOST_CHECK( data == dcrypt ); // memset( crypt.data(), 0, crypt.size() ); // fc::aes_encoder enc; // enc.init( fc::sha256::hash((char*)&key,sizeof(key) ), fc::city_hash_crc_128( (char*)&key, sizeof(key) ) ); // auto len = enc.encode( dcrypt.data(), dcrypt.size(), crypt.data() ); // BOOST_CHECK_EQUAL( dcrypt.size(), len ); // // fc::aes_decoder dec; // dec.init( fc::sha256::hash((char*)&key,sizeof(key) ), fc::city_hash_crc_128( (char*)&key, sizeof(key) ) ); // len = dec.decode( crypt.data(), len, dcrypt.data() ); // BOOST_CHECK_EQUAL( dcrypt.size(), len ); // BOOST_CHECK( !memcmp( dcrypt.data(), data.data(), len) ); } catch ( fc::exception& e ) { std::cout< data( line.c_str(),line.c_str()+line.size()+1 ); std::vector crypt = fc::aes_encrypt( key, data ); std::vector dcrypt = fc::aes_decrypt( key, crypt ); BOOST_CHECK( data == dcrypt ); // memset( crypt.data(), 0, crypt.size() ); // fc::aes_encoder enc; // enc.init( fc::sha256::hash((char*)&key,sizeof(key) ), fc::city_hash_crc_128( (char*)&key, sizeof(key) ) ); // auto len = enc.encode( dcrypt.data(), dcrypt.size(), crypt.data() ); // BOOST_CHECK_EQUAL( dcrypt.size(), len ); // // fc::aes_decoder dec; // dec.init( fc::sha256::hash((char*)&key,sizeof(key) ), fc::city_hash_crc_128( (char*)&key, sizeof(key) ) ); // len = dec.decode( crypt.data(), len, dcrypt.data() ); // BOOST_CHECK_EQUAL( dcrypt.size(), len ); // BOOST_CHECK( !memcmp( dcrypt.data(), data.data(), len) ); } BOOST_AUTO_TEST_SUITE_END()