49 lines
1.1 KiB
C++
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;
|
|
} |