[发明专利]一种保护安卓手机中短信验证码的方法有效
申请号: | 201810996054.6 | 申请日: | 2018-08-29 |
公开(公告)号: | CN109145645B | 公开(公告)日: | 2021-09-10 |
发明(设计)人: | 李金库;叶阳天;罗林波;姚青松;马建峰 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;H04W4/14 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 徐文权 |
地址: | 710075 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种保护安卓手机中短信验证码的方法,通过对短信数据库创建逻辑,短信广播发送逻辑,短信数据库插入逻辑和短信数据库查询逻辑的修改,来保护短信验证码数据不被窃取。本发明从短信获取的源头,对验证码信息进行识别和保护,有效的保证第三方应用无法获取到短信验证码数据。且本发明仅对框架层的部分逻辑代码进行修改,能够保证系统的稳定性。而且,本发明造成的性能损耗十分的小。 | ||
搜索关键词: | 一种 保护 手机 短信 验证 方法 | ||
【主权项】:
1.一种保护安卓手机中短信验证码的方法,其特征在于,包括以下步骤;S1、短信数据库创建过程1.1.修改安卓创建短信数据库的SQL语句,使得创建的新的sms表具有kind字段,且kind字段的类型是INTEGER,kind值为0时,该短信数据是普通短信数据,kind值为1时,该短信是验证码短信;S2、短信数据库插入过程2.1.修改SmsProvider对象的insert方法,判断待插入的短信数据表名称是否是“sms”,如是,执行2.2,否则跳转到2.8;2.2.判断待插入的短信数据键值对initialValues中是否包含body和address字段,如是,执行2.3,否则跳转到2.8;2.3.获取initialValues键值对中body和address字段的值,即短信内容和短信源地址;2.4.判断短信源地址是否在地址列表commonNumberList中,如是,执行2.5,否则跳转到2.8;2.5.判断短信内容字段中是否包含4‑8位的连续数字或数字加英文,如是,执行2.6,否则跳转到2.8;2.6.判断短信内容字段中是否包含“验证”或“密码”关键字,如是,表明这是一个短信验证码数据,执行2.7,否则跳转到2.8;2.7.在initialValues键值对中存入kind=1的键值对;2.8.根据initialValues键值对等参数生成对应的SQL插入语句;2.9.执行SQL语句,把短信数据插入短信数据库;S3、短信广播发送过程3.1.修改SmsBroadcastReceiver对象中的onReceive()方法,从Intent对象中获取短信pdu数组,并遍历所有的短信pdu数据;3.2.通过SmsMessage的createFromPdu()方法把短信pdu转换成SmsMessage对象;3.3.获取当前短信的源地址和短信内容;3.4.判断短信源地址是否在地址列表commonNumberList中,如是,执行3.5,否则跳转到3.8;3.5.判断短信内容字段中是否包含4‑8位的连续数字或数字加英文,如是,执行3.6,否则跳转到3.8;3.6.判断短信内容字段中是否包含“验证”或“密码”关键字,如是,表明这是一个短信验证码数据,执行3.7,否则跳转到3.8;3.7.记录该条pdu,代表其中包含的短信验证码数据;3.8.是否已经遍历完成所有的短信pdu,如是,执行3.9,否则跳转到3.2;3.9.记录的短信验证码数等于pdu数组的大小,则此次广播中的所有短信都是验证码短信,则不再继续发送广播;S4、短信数据库查询过程4.1.修改SmsProvider对象提供的短信数据库查询方法query方法,判断调用该方法的应用是否是默认短信应用,如否,则执行4.2,否则跳转到4.10;4.2.判断query方法的参数selection是否为空,如是,执行4.3,否则跳转到4.6;4.3.把selection参数赋值为“kind=?”;4.4.把query方法的参数selectionArgs赋值为只包含一个字符串“0”的字符串数组,接着执行4.10;4.5.在selection字符串的末尾添加字符串“and kind=?”;4.6.获取selectionArgs数组的数组大小size,并创建一个大小为size+1的新字符串数组;4.7.把selectionArgs数组的所有数组元素拷贝到新数组中;4.8.并对新数组的最后一个数组元素赋值“0”;4.9.把新数组赋值给selectionArgs;4.10.继续执行query方法,生成对应的SQL语句。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810996054.6/,转载请声明来源钻瓜专利网。