openssl AES CTR在C中发送输出

openssl AES CTR在C中发送输出,c,encryption,openssl,aes,C,Encryption,Openssl,Aes,我需要通过C中的套接字发送加密数据。因此,我将有效负载设置为: message|u type | flags | message|u 1 | message|u 2 我想用AES加密消息\u x。 出于安全考虑,我需要为密文保留消息的长度。这就是我使用OpenSSL模式的原因 但问题是。输出非常糟糕,就像�3Y������ȳ�_�[��. 还有像[,.等字符。每个字符都可能出现在输出中。因此接收器将无法取消有效负载序列化,因为可能是AES生成了分隔符(|) 我看到base64转换可以做到这一点。

我需要通过C中的套接字发送加密数据。因此,我将有效负载设置为:
message|u type | flags | message|u 1 | message|u 2

我想用AES加密
消息\u x
。 出于安全考虑,我需要为密文保留
消息的长度。这就是我使用OpenSSL模式的原因

但问题是。输出非常糟糕,就像�3Y������ȳ�_�[��. 还有像
[
.
等字符。每个字符都可能出现在输出中。因此接收器将无法取消有效负载序列化,因为可能是AES生成了分隔符(
|

我看到
base64
转换可以做到这一点。但是转换会改变密文的长度(如本文所述)


有人有什么想法吗?

那么,base64对您来说还不够吗?如前所述,base64更改密文长度,但我需要保持不变