一种蓝牙短信混淆加密方法及存储介质转让专利

申请号 : CN202110843948.3

文献号 : CN113676849B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 袁卓

申请人 : 惠州市德赛西威智能交通技术研究院有限公司

摘要 :

本发明提供一种蓝牙短信混淆加密方法及存储介质,对在安卓系统内部通过广播传送的蓝牙短信进行内容加密保护,关键的步骤在对短信明文字符串进行切割、位移、重组,组合后字符串再次转成字符数组进行异或运算,最终输入加密后的密文字符串;通过对密文进行切割、位移、重组,组合后字符串再次转成字符数组进行异或运算,最终输出解密后的明文字符串。与DM5、DES、AES等加密算法完全不同,并且加密解密效率更高,可加密解密特殊字符、emoji表情等,使得安卓系统内部通过广播传送的蓝牙短信内容不被其他应用截取明文。

权利要求 :

1.一种蓝牙短信混淆加密方法,其特征在于,包括以下步骤:

S1:在framework收到协议栈通知上来的蓝牙短信数据之后,调用加密函数encrpyt,判断所述蓝牙短信数据是否有效,若有效,则调用encryption(String content),对传入的明文进行混淆及加密处理,得到加密后的密文字符串;若无效,则返回提示:数据为NULL;定义所述加密函数encrpyt的第一个参数是传入需要加密的明文,第二个参数是传入的秘钥;

所述S1还包括:

S11:调用字符串混淆函数,对所述需要加密的明文进行混淆,对字符串每5个进行一次截取;

S12:将前5位与之相邻的后5位进行位置互换,最后不足10位的,不换位置;最终重新组成混淆字符串;

S13:将所述混淆字符串转成char[],遍历char[],并与所述传入的秘钥进行异或运算,得到新的char[],并转为String,得到加密后的密文字符串;

S2:在APP收到加密数据后,需要调用解密函数decrypt进行解密,先判断传入数据的有效性,若有效则调用unEncryption(String content),对传入的密文进行反混淆及解密,得到解密后的明文字符串。

2.根据权利要求1所述的一种蓝牙短信混淆加密方法,其特征在于,还包括:framework通知加密后的短信数据进行广播。

3.根据权利要求2所述的一种蓝牙短信混淆加密方法,其特征在于,还包括:注册监听到短信广播的应用APP接收到短信加密数据,调用蓝牙短信解密函数将所收到的短信加密数据进行解密。

4.根据权利要求1所述的一种蓝牙短信混淆加密方法,其特征在于,定义所述解密函数decrypt的第一个参数是传入需要解密的密文,第二个参数是传入秘钥。

5.根据权利要求4所述的一种蓝牙短信混淆加密方法,其特征在于,所述解密函数decrypt中秘钥和所述加密函数encrpyt中的秘钥一样。

6.根据权利要求5所述的一种蓝牙短信混淆加密方法,其特征在于,所述S2还包括:S21:调用unEncryption(String content),对传入的密文进行反混淆;

S22:将前5位与之相邻的后5位进行位置互换,最后不足10位的,不换位置;最终重新组成混淆字符串;

S23:将所述混淆字符串转成char[],遍历char[],并与所述传入的秘钥进行异或运算,得到新的char[],并转为String,得到加密后的密文字符串。

7.根据权利要求1所述的一种蓝牙短信混淆加密方法,其特征在于,所述蓝牙短信数据至少包括:数字,英文,中文,日语,emoji表情,和标准符号中的一种或几种。

8.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求1至7任一项所述的蓝牙短信混淆加密方法。

说明书 :

一种蓝牙短信混淆加密方法及存储介质

技术领域

[0001] 本发明涉及移动终端解密技术领域,尤其是涉及一种蓝牙短信混淆加密方法及存储介质。

背景技术

[0002] 当前安卓原生的蓝牙framework中,蓝牙短信是直接通过下载手机端短信,获取到的,在获取到蓝牙短信的内容、号码等数据后,直接通过安卓原生的普通广播的形式将短信内容、号码等数据的明文通知出去,那么在系统中其他应用可以根据安卓定义的蓝牙短信广播通知,去注册监听其广播,并且可以完整的获取到蓝牙短信的内容、号码等明文数据。这对于用户的隐私、信息安全是一种极大的威胁。

发明内容

[0003] 针对上述技术问题,本发明提出一种蓝牙短信混淆加密方法及存储介质,包括以下步骤:
[0004] S1:在framework收到协议栈通知上来的蓝牙短信数据之后,调用加密函数encrpyt,判断所述蓝牙短信数据是否有效,若有效,则调用encryption(String content),对传入的明文进行混淆及加密处理,得到加密后的密文字符串;若无效,则返回提示:数据为NULL;
[0005] S2:在APP收到加密数据后,需要调用解密函数decrypt进行解密,先判断传入数据的有效性,若有效则调用unEncryption(String content),对传入的密文进行反混淆及解密,得到解密后的明文字符串。
[0006] 其中,定义所述加密函数encrpyt的第一个参数是传入需要加密的明文,第二个参数是传入的秘钥。
[0007] 所述S1还包括:
[0008] S11:调用字符串混淆函数,对所述需要加密的明文进行混淆,对字符串每5个进行一次截取;
[0009] S12:将前5位与之相邻的后5位进行位置互换,最后不足10位的,不换位置;最终重新组成混淆字符串;
[0010] S13:将所述混淆字符串转成char[],遍历char[],并与所述传入的秘钥进行异或运算,得到新的char[],并转为String,得到加密后的密文字符串。
[0011] framework通知加密后的短信数据进行广播。
[0012] 进一步的,注册监听到短信广播的应用APP接收到短信加密数据,调用蓝牙短信解密函数将所收到的短信加密数据进行解密。
[0013] 进一步的,定义所述解密函数decrypt的第一个参数是传入需要解密的密文,第二个参数是传入秘钥。
[0014] 所述解密函数decrypt种的秘钥和所述加密函数encrpyt中的秘钥一样。
[0015] 其中,所述S2还包括:
[0016] S21:调用unEncryption(String content),对传入的密文进行反混淆;
[0017] S22:将前5位与之相邻的后5位进行位置互换,最后不足10位的,不换位置;最终重新组成混淆字符串;
[0018] S23:将所述混淆字符串转成char[],遍历char[],并与所述传入的秘钥进行异或运算,得到新的char[],并转为String,得到加密后的密文字符串。
[0019] 进一步的,所述蓝牙短信数据至少包括:数字,英文,中文,日语,emoji表情,和标准符号中的一种或几种。
[0020] 优选的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上所述的蓝牙短信混淆加密方法。
[0021] 综上所述,本发明提供一种蓝牙短信混淆加密方法及存储介质,对在安卓系统内部通过广播传送的蓝牙短信进行内容加密保护,关键的步骤在对短信明文字符串进行切割、位移、重组,组合后字符串再次转成字符数组进行异或运算,最终输入加密后的密文字符串;通过对密文进行切割、位移、重组,组合后字符串再次转成字符数组进行异或运算,最终输出解密后的明文字符串。与DM5、DES、AES等加密算法完全不同,并且加密解密效率更高,可加密解密特殊字符、emoji表情等,使得安卓系统内部通过广播传送的蓝牙短信内容不被其他应用截取明文。

附图说明

[0022] 图1为本发明所述的蓝牙短信混淆加密方法的流程图。

具体实施方式

[0023] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0024] 如图1所示,为本发明所述的一种蓝牙短信混淆加密方法的流程图,通过在安卓系统内部通过广播传送的蓝牙短信进行内容加密保护,关键的步骤在对短信明文字符串进行切割、位移、重组,组合后字符串再次转成字符数组进行异或运算,最终输入加密后的密文字符串,从而实现对蓝牙短信混淆加密;进而再通过对密文进行切割、位移、重组,组合后字符串再次转成字符数组进行异或运算,最终输出解密后的明文字符串,从而实现对蓝牙短信混淆的解密。
[0025] 具体的,本发明所述的方法,包括加密过程:
[0026] S1:在framework收到协议栈通知上来的蓝牙短信数据之后,调用加密函数encrpyt,判断所述蓝牙短信数据是否有效,若有效,则调用encryption(String content),对传入的明文进行混淆及加密处理,得到加密后的密文字符串;若无效,则返回提示:数据为NULL;
[0027] 具体为:第一个参数是传入需要加密的明文,第二个参数是传入秘钥。在encrpyt方法中先判断传入数据的有效性,若有效则调用encryption(String content),对传入的明文进行混淆,即对字符串每5个进行一次截取,并与之相邻的后5位进行位置互换,最后不足10位的,不换位置。最终重新组成混淆字符串。接着将返回的混淆字符串转成char[],遍历char[],并与传入的秘钥进行异或运算,得到新的char[],并转为String,自此得到加密后的密文字符串。同广播发送加密后的数据。
[0028] 其中,加密函数encrpyt(String plaintext,int key)如下:
[0029]
[0030] 还包括,解密过程:
[0031] S2:在APP收到加密数据后,需要调用解密函数decrypt进行解密,先判断传入数据的有效性,若有效则调用unEncryption(String content),对传入的密文进行反混淆及解密,得到解密后的明文字符串。
[0032] 具体的,解密时第一个参数是传入需要解密的密文,第二个参数是传入秘钥,这里需要注意的是,解密使用的秘钥要和加密秘钥相同。在encrpyt方法中先判断传入数据的有效性,若有效则调用unEncryption(String content),对传入的密文进行反混淆,即对字符串每5个进行一次截取,并与之相邻的后5位进行位置互换,最后不足10位的,不换位置。最终重新组成混淆字符串。接着将返回的混淆字符串转成char[],遍历char[],并与传入的秘钥进行异或运算,得到新的char[],并转为String,自此得到解密后的明文字符串。
[0033] 进一步的,解密函数decrypt(String ciphertext,int key),如下:
[0034]
[0035] 进一步的,所述混淆函数encryption(String content),具体如下:
[0036] 进一步的,所述反混淆函数unEncryption(String content),具体如下:
[0037]
[0038] 进一步的,所述蓝牙短信数据至少包括:数字,英文,中文,日语,emoji表情,和标准符号中的一种或几种。
[0039] 优选的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上所述的蓝牙短信混淆加密方法。
[0040] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。