#pragma once #include namespace AES{ enum Algorithm{ AES_128_CBC, AES_192_CBC, AES_256_CBC, }; std::string encrypt(const std::string &data,const std::string &key,Algorithm algo); //throws invalid_argument for an invalid ciphertext (length not a multiple of block size, or padding malformed) std::string decrypt(const std::string &data,const std::string &key,Algorithm algo); void test(); }