关于Android短信加密功能,我初步了解的如下(只在Android应用层试验):
1、因为Android有短信收发接口,可以调用接口完成短信收发;
发送过程:APP(基于短信应用修改)接受用户输入号码、内容——>APP对短信内容加密——>调用短信发送方法SmsManager.sendTextMessage()完成短信发送;
接收过程:系统接收短信——>通过广播通知APP,或APP直接查询短信数据库——>内容解密——>显示给用户
2、问题:
1)、关于加密算法,我测试了按位取反,可以正常发送接收(加密,解密),但由于取反之后可能会出现乱码,造成发送的内容是乱码;
2)、用AES加密算法,AES加密加密之后都是字母和数字,但加密之后长度变长,造成短信分段,解密要做特殊处理;
3)、由于Android系统的开放性,如果要做修改,需要对系统短信的通用接口做特殊处理,只供我们应用程序调用,以防止其他应用读取发送短信;
网上开源项目:
https://github.com/WhisperSystems/TextSecure-Server
我自己的Demo写的不是很全面,就不公开了,如果真的需要参考,可以留言给我,我邮件单独发送!
1、因为Android有短信收发接口,可以调用接口完成短信收发;
发送过程:APP(基于短信应用修改)接受用户输入号码、内容——>APP对短信内容加密——>调用短信发送方法SmsManager.sendTextMessage()完成短信发送;
接收过程:系统接收短信——>通过广播通知APP,或APP直接查询短信数据库——>内容解密——>显示给用户
2、问题:
1)、关于加密算法,我测试了按位取反,可以正常发送接收(加密,解密),但由于取反之后可能会出现乱码,造成发送的内容是乱码;
2)、用AES加密算法,AES加密加密之后都是字母和数字,但加密之后长度变长,造成短信分段,解密要做特殊处理;
3)、由于Android系统的开放性,如果要做修改,需要对系统短信的通用接口做特殊处理,只供我们应用程序调用,以防止其他应用读取发送短信;
网上开源项目:
https://github.com/WhisperSystems/TextSecure-Server
我自己的Demo写的不是很全面,就不公开了,如果真的需要参考,可以留言给我,我邮件单独发送!