[发明专利]一种利用安卓系统随机生成蓝牙地址的方法在审
| 申请号: | 201510939056.8 | 申请日: | 2015-12-15 |
| 公开(公告)号: | CN105528216A | 公开(公告)日: | 2016-04-27 |
| 发明(设计)人: | 吴国伟;张翼 | 申请(专利权)人: | 大连理工大学 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44 |
| 代理公司: | 大连理工大学专利中心 21200 | 代理人: | 梅洪玉 |
| 地址: | 116024 辽*** | 国省代码: | 辽宁;21 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明提供一种利用安卓系统随机生成蓝牙地址的方法,该方法根据已有蓝牙地址的格式,采用随机函数rand(),对蓝牙地址变量进行赋值;运用代码srand((unsigned int)(time(0)))和((rand()>>8)&0xFF)将产生的随机数赋值给蓝牙地址变量;最后使用已赋值的蓝牙地址变量,用于中间人攻击防范或者其他。本发明能够有效的产生随机的蓝牙地址,用于中间人攻击防范或者其他用途;同时由于本发明未改变协议,所以普及性和实用性较高,可以与当前蓝牙设备兼容。 | ||
| 搜索关键词: | 一种 利用 系统 随机 生成 蓝牙 地址 方法 | ||
【主权项】:
一种利用安卓系统随机生成蓝牙地址的方法,其特征在于,包括以下步骤:第一步,启动蓝牙程序,通过安卓应用层jni调用btif_core.c获取蓝牙地址变量;第二步,采用随机函数rand( ),得到随机数;运用代码srand((unsigned int)(time(0)))和((rand( )>>8)&0xFF)将随机数赋值给addr蓝牙地址变量,具体代码为:srand((unsigned int)(time(0)));//1addr‑>address[0]=0x20;//2addr‑>address[1]=0x20;//3addr‑>address[2]=(uint8_t)((rand( )>>8)&0xFF);//4addr‑>address[3]=(uint8_t)((rand( )>>8)&0xFF);//5addr‑>address[4]=(uint8_t)((rand( )>>8)&0xFF);//6addr‑>address[5]=(uint8_t)((rand( )>>8)&0xFF);//7具体代码的第二三行使用固定的0x20,赋值蓝牙地址变量addr的第一二字节;具体代码的第四到七行使用随机字节,赋值蓝牙地址变量addr的的第三到六字节;其中,addr是bt_bdaddr_t类型的指针变量,指向存储蓝牙地址的变量;srand((unsigned int)(time(0)))设置随机数种子,产生之后的随机数,time(0)得到当前时间并转化为unsigned int类型;rand( )产生一个随机数,rand( )>>8是将产生的随机数右移8位,rand( )>>8&0xFF是将移位后的随机数与0xFF进行‘&’运算,取低8位的数,最后将产生一个8bit的随机数赋值给addr蓝牙地址变量;第三步,使用已赋值的addr蓝牙地址变量,防范中间人攻击。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连理工大学,未经大连理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510939056.8/,转载请声明来源钻瓜专利网。





