如何使用OpenSSL编码/解码任意数据
Howto encode/decode arbitrary data with OpenSSL?
我有一个C++应用程序,它有自己的例程来发送和接收数据。我想使用 OpenSSL 将 AES 加密应用于这些数据的一部分。不幸的是,我不能像大多数例子那样移交与OpenSSL的整个连接,我甚至不能给OpenSSL套接字来读取数据。
我想将我的数据作为内存缓冲区传入和传出,并且我还单独传输密钥。有没有人有一个例子如何使用OpenSSL API完成此操作?
我见过一些摆弄OpenSSL内部指针和结构的代码,但依赖于某个OpenSSL版本,我非常想避免这种情况。
我认为您实际上想使用加密库,这是OpenSSL的一部分。下面是如何使用它的示例:
http://saju.net.in/code/misc/openssl_aes.c.txt
我认为
你应该看看cryptlib http://www.cs.auckland.ac.nz/~pgut001/cryptlib/
以下是cryptlib网站上示例链接的片段:
CRYPT_SESSION cryptSession;
/* Create the session */
cryptCreateSession( &cryptSession, cryptUser, CRYPT_SESSION_SSL_SERVER );
/* Add the server key/certificate and activate the session */
cryptSetAttribute( cryptSession, CRYPT_SESSINFO_PRIVATEKEY, privateKey );
cryptSetAttribute( cryptSession, CRYPT_SESSINFO_ACTIVE, 1 );
看起来很简单,但对我来说,它花了一些时间(并且仍然需要一些时间)来学习如何用cryptlib做我想做的事情。我认为它会解决您的问题!源代码可用,DLL 具有 C API。试一试。(听起来像一个广告,但我与cryptlib没有任何联系,除了是它的用户)。
相关文章:
- 无法解码base64+deflate数据
- 用常见虚拟函数实现的任意组合来实现派生类的正确方法是什么
- 正在解码MSVC 32位版本的程序集(作业).没有手术做什么
- 从函数返回任意简单类型的数据
- 使用已使用 java 编码的 openssl 解码数据
- 如何使用 OpenCV 解码在两个 UWP 应用之间发送的图像字节?
- 如何生成一个随机的 n 位数,其中 n 是任意的
- 错误:(-210:不支持的格式或格式组合)功能'create'中的硬件视频解码器不支持视频源
- 从原始字节解码协议缓冲区(以 C++为单位)
- C++ - 声明指向返回任何类型并获取任意数量参数的函数的指针
- FFmpeg——使用硬件加速进行视频解码
- 如何从WIC解码器确定自上而下/自下而上?
- 将正态随机变量与任意 RHO(corrcoef) 相关联
- 在C++中生成任意嵌套的向量
- 使用公钥加密消息:BER 解码错误
- 在CRC-16 CCITT中将数据从二进制解码为文本,我应该输入一个码字,使用CRC生成器进行编码
- 在 GLFW 窗口中显示 FFMPEG 解码帧
- 任意大小的 constexpr 数组是否可以用作 switch 语句中的案例?
- FlatBuffers/Protobuf 中是否有支持任意 24 位有符号整数定义的可移植二进制序列化架构?
- 如何使用OpenSSL编码/解码任意数据