1

我正在加密一个字符串说“hello hr u”使用加密算法并将加密的字符串作为b�*-ت5Tr���6=

这个字符串我们不能作为短信发送
所以我想通过将其转换为 7 位来转换为支持短信的格式。
在接收端,我们必须转换回 8 位并解密。
我怎样才能做到这一点?

注意:我已经使用 Base64 转换为支持短信的格式,但长度正在增加。所以我无法发送更多字符

4

1 回答 1

0

我假设您的问题类似于:

如何在不增加消息大小的情况下将二进制数据作为有效的 SMS 文本传输?

答案是——你不能——至少不能 100% 确定。

您的加密算法可能会创建一些byte[]字节数组

我看到的唯一选择是尝试在加密之前或之后压缩信息 - 取决于您选择的压缩算法 - 然后Base64对其进行编码。这会给你一个更好的机会来限制大小 - 但没有确定性。(除非你找到一种压缩算法,它承诺对每个输入压缩超过 33%。

另一种方法是将消息跨越两条 SMS 消息 - 假设您被允许这样做。

于 2013-02-20T22:07:50.300 回答