2024-03-08 17:12:19 +08:00

49 lines
1.1 KiB
C++

#include <iostream>
#include <box_rsa.h>
#include <cassert>
#include <cstring>
using namespace cppbox;
CRSAOperator opr;
void file_test()
{
const char* pub = "public.pem";
const char* pri = "private.pem";
if (!opr.generate_keypair(pub, pri)) {
std::cout << opr.get_last_error() << std::endl;
}
HData source_data;
int size = 512;
source_data.len = size;
opr.alloc_hdata(source_data);
source_data.len = std::snprintf((char *)source_data.data, source_data.len, "This is a cryp test!");
HData en_result_data;
HData de_result_data;
if (!opr.encrypt_pub(pub, source_data, en_result_data)) {
std::cout << opr.get_last_error() << std::endl;
}
if (!opr.decrypt_pri(pri, en_result_data, de_result_data)) {
std::cout << opr.get_last_error() << std::endl;
}
assert(strcmp((const char *)de_result_data.data, (const char *)source_data.data) == 0);
opr.free_hdata(en_result_data);
opr.free_hdata(de_result_data);
remove(pub);
remove(pri);
std::cout << "cryp_test success!" << std::endl;
}
int main()
{
file_test();
return 0;
}