我正在使用密钥为1024位的RSA加密,加密文本的长度将超过160个字节,并且在发送超过160字节的短信时,它会给出异常并在使用sendmultisms()并将消息分开后,接收方有不可打印的字符,我也会遇到如何连接短信的问题。
答案 0 :(得分:1)
您可以使用支持真正8位的data-sms,而正常的短信只需要7位。这就是为什么你在没有任何进一步编码工作的情况下在另一方获得垃圾的原因。
答案 1 :(得分:1)
您还可以使用Base64编码对加密文本进行编码,将其分解为字符串的ArrayList并使用sendMultipartTextMessage。然后根据需要发送尽可能多的短信。
SmsManager sms = SmsManager.getDefault();
ArrayList<String> parts = sms.divideMessage(base64EncodedMessage);
sms.sendMultipartTextMessage(phoneNumber, null, parts, null, null);