gpt4 book ai didi

c++ - 加密和解密损坏的二进制文件

转载 作者:太空狗 更新时间:2023-10-29 21:16:17 26 4
gpt4 key购买 nike

我有两个简单的加密解密函数。这些函数适用于文本文件,我可以成功检索文件。但它会破坏二进制文件。如果我加密图像然后解密,它就会损坏。

bool Encrypter::FileEncrypter(std::string src, std::string dest)
{
try {
Botan::InitializationVector iv(enckey.substr(0,32));
Botan::SymmetricKey symKey(enckey.substr(32,32));
Botan::DataSource_Stream in(src.c_str(), true);
Botan::Pipe enc(Botan::get_cipher("AES-128/CBC", symKey, iv, Botan::ENCRYPTION), new Botan::DataSink_Stream(dest.c_str()));
enc.process_msg(in);
return true;
}
catch(std::exception &e){
return false;
}

}

bool Encrypter::FileDecrypter(std::string src, std::string dest)
{
try {
Botan::InitializationVector iv(enckey.substr(0,32));
Botan::SymmetricKey symKey(enckey.substr(32,32));
Botan::DataSource_Stream in(src.c_str(), true);
Botan::Pipe dec(Botan::get_cipher("AES-128/CBC", symKey, iv, Botan::DECRYPTION), new Botan::DataSink_Stream(dest.c_str()));
dec.process_msg(in);
return true;
}
catch(std::exception &e){
return false;
}

}

最佳答案

API 说:

DataSink_Stream (const std::string &pathname, bool use_binary=false)

您可能希望将最后一个参数设置为 true

关于c++ - 加密和解密损坏的二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35585855/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com