我正在实现一个原始的分组密码。然而,实现方式使得密文的大小可以与明文的大小不同。我需要知道如何计算编码后形成的密文的大小。 strlen(char *)将无效,因为密文可能包含多个'\ n'个字符。有没有解决这个问题的方法?
答案 0 :(得分:2)
您的编码函数应返回大小,它是唯一知道它的实体。 实现一个单独的函数来“找出大小”意味着重新实现一半的算法。
因此,如果你的编码功能中有这样的东西:
while (...)
buf[i++] = stuff;
您应该返回i
。