如何使用openssl进行64位解码?

时间:2010-07-05 18:48:42

标签: c++ c openssl base64 decode

我使用Boost.Asio在C ++中开发。我希望能够base64解码数据,因为Boost.Asio链接到openssl我想使用它的函数来做到这一点,而不是添加额外的依赖(例如crypto ++)。我发现此代码here显示了如何执行此操作。 (将int finalLen = BIO_read(bmem,(void *)pOut, outLen );更改为 inLen

我不知道它是否有效。我只是传递了一些测试数据,我用这里的在线解码器验证了这一点(2)(选择安全解码为文本并计算符号)。我使用的测试字符串是这样的:“AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA =”(没有“”)。在线解码器和快速加密++实现都返回23个字符。但是我上面提到的使用openssl的代码返回0.我做错了什么? openssl适合base64解码吗? 请给我一个解决方案(如果存在的话)。谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

抱歉,我的错误。我忘了为 pOut 分配内存。代码似乎现在有效。