我在C ++中使用SEAL库。我想将密文保存到文件中。我在想类似将其转换为字符串类型并保存的方法。我想要一个包含所有密文的文件,并在需要时将该文件上载到内存以再次使用它们。我还必须保存加密和解密密钥,以便以后可以解密结果。
有人使用过此加密库,并且知道如何将生成的密文保存到文件中吗?我只是在学习如何使用该库,而我是C ++的新手,所以我为此而苦苦挣扎。
谢谢!
答案 0 :(得分:0)
这就是我的方式。
对于这两种操作,我都使用提供的API,如下所示:
void saveCiphertext(Ciphertext encrypted, string filename){
ofstream ct;
ct.open(filename, ios::binary);
encrypted.save(ct);
};
要再次加载,您有两种方法:
/*
If you can't / don't want / don't need to verify the encryption parameters
*/
Ciphertext unsafe_loadCiphertext(string filename){
ifstream ct;
ct.open(filename, ios::binary);
Ciphertext result;
result.unsafe_load(context);
return result;
};
// Verifying encryption parameters
Ciphertext loadCiphertext(string filename, EncryptionParameters parms){
auto context = SEALContext::Create(parms);
ifstream ct;
ct.open(filename, ios::binary);
Ciphertext result;
result.load(context, ct);
return result;
};