1

「hello hr u」という文字列を暗号化しています暗号化アルゴリズムを使用して、暗号化された文字列を次のように取得しますb�*-ت5Tr���6=

この文字列は SMS として送信できないため、
7 ビットに変換して、SMS がサポートする形式に変換したいと考えています。
受信側では、8 ビットに変換して復号化する必要があります。
どうすればこれを達成できますか?

注: Base64 を使用して SMS でサポートされている形式に変換しましたが、長さが増加しています。だから私はこれ以上のキャラクターを送ることができません

4

1 に答える 1

0

あなたの質問は次のようなものだと思います:

メッセージのサイズを大きくすることなく、バイナリ データを有効な SMS テキストとして送信するにはどうすればよいですか?

これに対する答えは - できません - 少なくとも 100% 確実ではありません。

Base64でエンコードすると、暗号化アルゴリズムはおそらくバイト配列 ( byte[]) を作成し、これは (上記のコメントで述べたように) 約 33% 増加します。

私が見る唯一のオプションは、選択した圧縮アルゴリズムに応じて、暗号化の前または後に情報を圧縮してから、Base64でエンコードすることです。これにより、サイズ制限を設定する可能性が高くなりますが、決定的なものはありません。(すべての入力に対して 33% 以上の圧縮を約束する圧縮アルゴリズムを見つけた場合を除きます。

別の方法は、メッセージを 2 つの SMS メッセージにまたがって送信することです (許可されている場合)。

于 2013-02-20T22:07:50.300 に答える