gpt4 book ai didi

php - CryptoPP 与 PHP Base64 编码/解码

转载 作者:搜寻专家 更新时间:2023-10-31 00:55:08 25 4
gpt4 key购买 nike

我正在尝试在 PHP 和 C++ (CryptoPP) 应用程序之间创建通信交换。

我在 PHP 中有以下代码:

$in = "ALApfWG920ZFle/2r6CkXKXt+zG5tiw7Gw9ZLl1mKRNP9fyb12T92e9rTQF4JeapXSrZVBPyrGx52l4zmu+wr3u2EQW7CeYFbl9h8y5+xx0MPOL/1nyX6ENzo755klTy5AxcM9GMrpKt689i79ouuxceA2bCa0cpWMUv4c2dHN8nKaXDSyCW04dRglFds9CVb29JgQamFRc7H8yjPPdk/FIMDt3xCDOKjoT5VGM1v1Tsyo92qCSFW9N4xXqLr5NUO0hv5u+kVCg0P/gWbgSSNsflXjyqV+dBp3YzKdxHGQXbpl8IQvec95GjL60zQ7IS/rWOZg40+IrwbhvoWHUQIkM="
$out = base64_decode($decode)

它解码文本并按预期返回二进制 string。我在 C++ 中使用 CryptoPP 执行类似的命令:

string out;
string in = "ALApfWG920ZFle/2r6CkXKXt+zG5tiw7Gw9ZLl1mKRNP9fyb12T92e9rTQF4JeapXSrZVBPyrGx52l4zmu+wr3u2EQW7CeYFbl9h8y5+xx0MPOL/1nyX6ENzo755klTy5AxcM9GMrpKt689i79ouuxceA2bCa0cpWMUv4c2dHN8nKaXDSyCW04dRglFds9CVb29JgQamFRc7H8yjPPdk/FIMDt3xCDOKjoT5VGM1v1Tsyo92qCSFW9N4xXqLr5NUO0hv5u+kVCg0P/gWbgSSNsflXjyqV+dBp3YzKdxHGQXbpl8IQvec95GjL60zQ7IS/rWOZg40+IrwbhvoWHUQIkM=";
CryptoPP::StringSource decryptor(in, true,
new CryptoPP::Base64Decoder(
new CryptoPP::StringSink(out)
));

但是,当我检查 out string 时,它是空的。

有人可以指出我做错了什么吗?

最佳答案

您看不到二进制数据,因为它们以零 (\0) 开头。\0 终止一个字符串,因此您看不到任何内容,但您的数据已存储。

检查:

out.size() 

您可以通过以下方式访问您的数据:

const char* data = out.c_str();
char* firstByte = data[0];

关于php - CryptoPP 与 PHP Base64 编码/解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42931053/

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