CN104751028A - 应用程序加密、解密的方法及装置 - Google Patents
应用程序加密、解密的方法及装置 Download PDFInfo
- Publication number
- CN104751028A CN104751028A CN201310728667.9A CN201310728667A CN104751028A CN 104751028 A CN104751028 A CN 104751028A CN 201310728667 A CN201310728667 A CN 201310728667A CN 104751028 A CN104751028 A CN 104751028A
- Authority
- CN
- China
- Prior art keywords
- user
- application program
- character
- application
- password
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本发明公开了一种应用程序加密、解密的方法及装置,该加密方法包括:获取需要加密的应用程序的加密密码;获取所述需要加密的应用程序所对应的应用程序包;根据所述获取的加密密码,对所述应用程序包进行加密,以使得对所述应用程序进行第一操作需要密码验证。通过上述方式,本发明能够防止没有授权的用户或第三方应用访问加密的应用程序。
Description
技术领域
本发明涉及加密解密技术领域,特别是涉及一种应用程序加密解密的方法及装置。
背景技术
伴随安卓Android系统的普及,用户对于安全隐私方面的要求逐渐增加,目前Android应用程序以功能的方式对外提供移动设备中的隐私数据,例如:联系人、短信、通话记录以及位置信息等等。
现有技术只是给应用程序加一个入口的密码锁,对于第三方应用程序通过使用功能的方式启动应用程序而不是通过入口的形式启动应用程序时,密码锁没有办法阻拦第三方应用程序启动该应用程序,这容易发生用户隐私数据的泄露。
发明内容
本发明主要解决的技术问题是提供一种应用程序加密、解密的方法及装置,能够防止没有授权的用户或第三方应用访问加密的应用程序。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种应用程序加密的方法,包括:获取需要加密的应用程序的加密密码;获取所述需要加密的应用程序所对应的应用程序包;根据所述获取的加密密码,对所述应用程序包进行加密,以使得对所述应用程序进行第一操作需要密码验证。
其中,所述获取需要加密的应用程序的加密密码的步骤,包括:提示用户输入所述需要加密的应用程序的加密密码;接收所述用户所输入的加密密码。
其中,所述接收用户所输入的加密密码的步骤,包括:以密文的形式接收用户输入的字符;在所述用户点击明文复选框时,将所述用户输入的字符以明文的形式显示第一预定时间;在所述用户点击确认按键时,将所述用户输入的字符作为加密密码。
其中,所述接收用户所输入的加密密码的步骤,包括:接收用户输入的字符,其中,在所述用户每输入一个字符时,所述每个字符以明文的形式显示第二预定时间后,再以密文的形式显示;在所述用户点击确认按键时,将所述用户输入的字符作为加密密码。
其中,所述第一操作为启动所述应用程序。
其中,所述第一操作为卸载所述应用程序。
其中,所述第一操作为第三方应用调用所述应用程序。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种应用程序解密的方法,包括:检测是否存在对需要解密的应用程序包所对应的应用程序进行的第一操作;若存在,则阻拦所述第一操作,并提示用户输入所述需要解密的应用程序包的解密密码;接收用户所输入的解密密码;若所述用户输入的解密密码和所述需要解密的应用程序包的原始密码一致,则解除对所述第一操作的阻拦,并对所述需要解密的应用程序包进行解密,以使得可以对所述需要解密的应用程序包所对应的应用程序进行第一操作;若所述用户输入的解密密码和所述需要解密的应用程序包的原始密码不一致,则继续阻拦所述第一操作。
其中,所述接收用户所输入的解密密码的步骤,包括:以密文的形式接收用户输入的字符;在所述用户点击明文复选框时,将所述用户输入的字符以明文的形式展示第一预定时间;在所述用户点击确认按键时,将所述用户输入的字符作为解密密码。
其中,所述接收用户所输入的解密密码的步骤,包括:接收用户输入的字符,其中,在所述用户每输入一个字符时,所述每个字符以明文的形式显示第二预定时间后,再以密文的形式显示;在所述用户点击确认按键时,将所述用户输入的字符作为解密密码。
其中,所述第一操作为启动所述应用程序。
其中,所述第一操作为卸载所述应用程序。
其中,所述第一操作为第三方应用调用所述应用程序。
其中,所述若所述用户输入的解密密码和所述需要解密的应用程序包的原始密码不一致,则继续阻拦所述第一操作的步骤,包括:若所述用户输入的解密密码和所述需要解密的应用程序包的原始密码不一致,且所述用户输入的解密密码与原始密码不一致的输入次数大于预设密码次数,则锁定所述需要解密的应用程序包所对应的应用程序。
其中,所述对所述需要解密的应用程序包进行解密的步骤之后,包括:在对所述应用程序包所对应的应用程序进行第一操作的过程中,若检测到用户按后退键Back返回,则在所述用户重新进入所述应用程序包对应的应用程序时提示用户重新输入解密密码。
为解决上述技术问题,本发明采用的又一个技术方案是:提供一种应用程序加密的装置,所述装置包括:第一获取模块,用于获取需要加密的应用程序的加密密码;第二获取模块,用于获取所述需要加密的应用程序所对应的应用程序包;加密模块,用于根据所述获取的加密密码,对所述应用程序包进行加密,以使得对所述应用程序进行第一操作需要密码验证。
其中,所述第一获取模块包括:提示单元,用于提示用户输入所述需要加密的应用程序的加密密码;接收单元,用于接收所述用户所输入的加密密码。
其中,所述接收单元包括:第一接收子单元,用于以密文的形式接收用户输入的字符;显示子单元,用于在所述用户点击明文复选框时,将所述用户输入的字符以明文的形式显示第一预定时间;第一密码确认子单元,用于在所述用户点击确认按键时,将所述用户输入的字符作为加密密码。
其中,所述接收单元包括:第二接收子单元,用于接收用户输入的字符,其中,在所述用户每输入一个字符时,所述每个字符以明文的形式显示第二预定时间后,再以密文的形式显示;第二密码确认子单元,用于在所述用户点击确认按键时,将所述用户输入的字符作为加密密码。
其中,所述第一操作为启动所述应用程序。
其中,所述第一操作为卸载所述应用程序。
其中,所述第一操作为第三方应用调用所述应用程序。
为解决上述技术问题,本发明采用的又一个技术方案是:提供一种应用程序解密的装置,所述装置包括:检测模块,用于检测是否存在对需要解密的应用程序包所对应的应用程序进行的第一操作;第一阻拦模块,用于在存在对需要解密的应用程序包所对应的应用程序进行的第一操作时,阻拦所述第一操作;提示模块,用于在所述第一阻拦模块阻拦所述第一操作后,提示用户输入所述需要解密的应用程序包的解密密码;接收模块,用于接收用户所输入的解密密码;解密模块,用于在所述用户输入的解密密码和所述需要解密的应用程序包的原始密码一致时,解除对所述第一操作的阻拦,并对所述需要解密的应用程序包进行解密,以使得可以对所述需要解密的应用程序包所对应的应用程序进行第一操作;第二阻拦模块,用于在所述用户输入的解密密码和所述需要解密的应用程序包的原始密码不一致时,继续阻拦所述第一操作。
其中,所述接收模块包括:第一接收单元,用于以密文的形式接收用户输入的字符;显示单元,用于在所述用户点击明文复选框时,将所述用户输入的字符以明文的形式展示第一预定时间;第一密码确认单元,用于在所述用户点击确认按键时,将所述用户输入的字符作为解密密码。
其中,所述接收模块包括:第二接收单元,用于接收用户输入的字符,其中,在所述用户每输入一个字符时,所述每个字符以明文的形式显示第二预定时间后,再以密文的形式显示;第二密码确认单元,用于在所述用户点击确认按键时,将所述用户输入的字符作为解密密码。
其中,所述第一操作为启动所述应用程序。
其中,所述第一操作为卸载所述应用程序。
其中,所述第一操作为第三方应用调用所述应用程序。
其中,所述第二阻拦模块具体用于在所述用户输入的解密密码和所述需要解密的应用程序包的原始密码不一致,且所述用户输入的解密密码与原始密码不一致的输入次数大于预设密码次数时,锁定所述需要解密的应用程序包所对应的应用程序。
其中,所述提示模块还用于在对所述应用程序包或所述应用程序包所对应的应用程序进行第一操作的过程中,若检测到用户按后退键Back返回时,在所述用户重新进入所述需要解密的应用程序包对应的应用程序时提示用户重新输入解密密码。
本发明的有益效果是:区别于现有技术的情况,本发明将用户输入的加密密码作为原始密码用于对需要加密的应用程序包进行加密,以使得需要原始密码才可以对应用程序包所对应的应用程序进行第一操作;当检测到存在对需要解密的应用程序包所对应的应用程序进行的第一操作时,阻拦第一操作,要求用户输入解密密码;若解密密码和原始密码一致,则解除对第一操作的阻拦,并解密;若解密密码和原始密码不一致,则继续阻拦第一操作。由于是对应用程序包进行加密,通过这种方式,能够防止没有授权的用户或第三方应用访问加密的应用程序。
附图说明
图1是本发明应用程序加密的方法一实施方式的流程图;
图2是本发明应用程序加密的方法另一实施方式的流程图;
图3是本发明应用程序解密的方法一实施方式的流程图;
图4是本发明应用程序解密的方法另一实施方式的流程图;
图5是本发明应用程序解密的方法又一实施方式的流程图;
图6是本发明应用程序解密的方法又一实施方式的流程图;
图7是本发明应用程序加密的装置一实施方式的结构示意图;
图8是本发明应用程序加密的装置另一实施方式的结构示意图;
图9是本发明应用程序解密的装置一实施方式的结构示意图;
图10是本发明应用程序解密的装置另一实施方式的结构示意图;
图11是本发明应用程序解密的装置又一实施方式的结构示意图。
具体实施方式
下面结合附图和实施方式对本发明进行详细说明。
参阅图1至图2,图1至图2是本发明应用程序加密的方法三个实施方式的流程图,包括:
步骤S101:获取需要加密的应用程序的加密密码。
获取需要加密的应用程序的加密密码的方式可以是:要求客户端输入加密密码,然后接收客户端所输入的加密密码;或者,机器直接进行加密,然后机器通过其它方式可以让客户端获知加密密码。
具体来说,步骤S101可以包括子步骤S101a和子步骤S101b,内容如下:
子步骤S101a:提示用户输入需要加密的应用程序的加密密码。
子步骤S101b:接收用户所输入的加密密码。
进一步地,子步骤S101b可以有两种方式,第一种方式是:
A.以密文的形式接收用户输入的字符;
B.在用户点击明文复选框时,将用户输入的字符以明文的形式显示第一预定时间;
C.在用户点击确认按键时,将用户输入的字符作为加密密码。
在第一种方式中,当用户输入字符时,以密文的形式显示,当所有的字符输入完成后,向用户提供一个明文复选框,用户点击明文复选框后,将用户输入的字符以明文的形式显示一段时间(即第一预定时间),以方便用户查看输入的字符(作为加密密码)是否正确,如果不正确,用户可以重新输入,如果正确,用户点击确认按键,即可将用户输入的字符作为加密密码。
第二种方式是:
a.接收用户输入的字符,其中,在用户每输入一个字符时,每个字符以明文的形式显示第二预定时间后,再以密文的形式显示;
b.在用户点击确认按键时,将用户输入的字符作为加密密码。
在第二种方式中,用户每输入一个字符以明文的形式显示一段时间(即第二预定时间),方便用户及时查看输入的每个字符是否正确,然后再以密文的形式显示所输入的字符,在用户点击确认按键时,即可将用户输入的字符作为加密密码。
步骤S102:获取需要加密的应用程序所对应的应用程序包。
应用程序包是指用于封装应用程序代码的包,其中,应用程序代码可以为源代码,也可以为源代码经编译后的代码。应用程序中提供的功能都包含在这个应用程序包中。
包名(Package Name)是应用程序的关键字,获取需要加密的应用程序所对应的应用程序包,可以首先获取需要加密的应用程序所对应的应用程序包的包名,获取包名的方法可以有很多种,例如:由客户端将指定的应用程序包的包名以输入包名的形式进行输入,从而获取需要加密的应用程序包的包名;或由客户端通过选择指定的应用程序的包名的方式获取需要加密的应用程序包的包名。
需要说明的是,步骤S101和步骤S102没有明显的先后顺序。
步骤S103:根据获取的加密密码,对应用程序包进行加密,以使得对应用程序进行第一操作需要密码验证。
根据获取的加密密码,即可对需要加密的应用程序包进行加密。第一操作是针对该要解密的应用程序包所对应的应用程序而进行的,其中,具体来说,第一操作为启动该应用程序。例如,用户通过桌面的应用程序图标进入该应用程序。
或,第一操作为第三方应用调用该应用程序。例如:第三方应用程序调用该需要解密的应用程序包所对应的应用程序的某一功能或某些功能。
或,第一操作为卸载该应用程序。如果需要卸载那些已经经过加密的应用程序则同样需要输入密码,无法提供正确的密码则应用程序无法被卸载。
通过对应用程序包进行加密的方式,既实现了启动该应用程序时需要密码验证,又使得第三方应用程序调用该应用程序功能时也需要密码验证,对应用程序加密效果更佳。其中,第三方应用程序调用该应用程序功能时也需要密码验证是因为第三方调用该应用程序功能时,需要调用该应用程序包,而该应用程序包是被加密的,因此,第三方应用程序调用该应用程序功能时也需要密码验证。不仅实现启动应用程序时需要密码验证(入口加密),在第三方应用程序调用该应用程序功能时也需要密码验证(功能加密)。
本发明实施方式通过对需要加密的应用程序包进行加密,以使得需要原始密码才可以对应用程序包所对应的应用程序进行第一操作。通过这种方式,能够防止没有授权的用户或第三方应用程序访问加密的应用程序。
参阅图3,图3是本发明应用程序解密的方法一实施方式的流程图,包括:
步骤S201:检测是否存在对需要解密的应用程序包所对应的应用程序进行的第一操作。
应用程序包是指用于封装应用程序代码的包,其中,应用程序代码可以为源代码,也可以为源代码经编译后的代码。应用程序中提供的功能都包含在这个应用程序包中。
包名(Package Name)是应用程序的关键字,获取需要加密的应用程序所对应的应用程序包,可以首先获取需要加密的应用程序所对应的应用程序包的包名。
第一操作是针对该要解密的应用程序包所对应的应用程序而进行的,当检测到存在对该应用程序进行的第一操作时,判断该应用程序相对应的应用程序包是否已经加密,或者是否需要解密。
其中,具体来说,第一操作为启动该应用程序。例如,用户通过桌面的应用程序图标进入该应用程序。
或,第一操作为第三方应用调用该应用程序。例如:第三方应用程序调用该需要解密的应用程序包所对应的应用程序的某一功能或某些功能。
或,第一操作为卸载该应用程序。
由于第三应用管理软件(比如:91助手、360等等)卸载已加密的应用程序包所对应的应用程序时无法提供密码,所以使用这些工具无法删除已经加密的应用程序。如果应用程序开发者使用ADB提供的SHELL命令进行删除的时候,需要在命令行中提供密码方可删除。命令如下所示:
adb uninstall pack_name password.
步骤S202:若存在,则阻拦第一操作,并提示用户输入需要解密的应用程序包所对应的应用程序的解密密码。
若检测到存在对应用程序进行的第一操作,且该应用程序对应的应用程序包已经加密,需要解密密码时,阻拦第一操作,然后提示用户输入解密密码,该解密密码用于对需要解密的应用程序包所对应的应用程序进行解密。
步骤S203:接收用户所输入的解密密码。
其中,步骤S203可以有两种实现方式,参阅图4,第一种实现方式包括:子步骤S203a、子步骤S203b以及子步骤S203c。
子步骤S203a:以密文的形式接收用户输入的字符。
子步骤S203b:在用户点击明文复选框时,将用户输入的字符以明文的形式展示第一预定时间。
子步骤S203c:在用户点击确认按键时,将用户输入的字符作为解密密码。
在第一种实现方式中,当用户输入字符时,以密文的形式显示,当所有的字符输入完成后,向用户提供一个明文复选框,用户点击明文复选框后,将用户输入的字符以明文的形式显示一段时间(即第一预定时间),以方便用户查看输入的字符(作为解密密码)是否正确,如果不正确,用户可以重新输入,如果正确,用户点击确认按键,即可将用户输入的字符作为解密密码。
参阅图5,第二种实现方式包括:子步骤S203d和子步骤S203e。
子步骤S203d:接收用户输入的字符,其中,在用户每输入一个字符时,每个字符以明文的形式显示第二预定时间后,再以密文的形式显示。
子步骤S203e:在用户点击确认按键时,将用户输入的字符作为解密密码。
在第二种实现方式中,用户每输入一个字符以明文的形式显示一段时间(即第二预定时间),方便用户及时查看输入的每个字符是否正确,然后再以密文的形式显示所输入的字符,在用户点击确认按键时,即可将用户输入的字符作为解密密码。
步骤S204:若用户输入的解密密码和需要解密的应用程序包的原始密码一致,则解除对第一操作的阻拦,并对需要解密的应用程序包进行解密,以使得可以对需要解密的应用程序包所对应的应用程序进行第一操作。
若用户输入的解密密码与需要解密的应用程序包的原始密码一致,表明第一操作是授权的操作,因此解除对第一操作的阻拦,并对该应用程序包进行解密,从而使得授权的用户或第三方应用程序可以对该应用程序包所对应的应用程序进行第一操作。
步骤S205:若用户输入的解密密码和需要解密的应用程序包的原始密码不一致,则继续阻拦第一操作。
若用户输入的解密密码和需要解密的应用程序包的原始密码不一致,表明第一操作不是授权的操作,因此继续阻拦第一操作。
例如:当用户通过Android桌面的方式试图启动一个已经被加密的应用程序的时候,安卓系统需要加载该应用程序的程序包,当检测到该加载过程,并检测到该应用程序包被加密时,则阻拦安卓系统加载该应用程序相关的程序包,阻拦该应用程序启动,并弹出一个密码输入界面提示用户输入密码,只有当密码正确的情况下应用程序才被允许加载,进而显示出来。
同理,第三方应用程序试图调用这些被加密的应用程序所提供的功能的时候,当检测到应用程序相关的程序包被加密时,阻拦第三方应用程序调用该应用程序相关的程序包,并弹出一个密码输入界面提示用户输入密码,只有当密码正确的情况下才允许调用。
例如:预先设置图库(Gallery)这个应用程序为加密的应用程序以防止其他人浏览用户保存的图片。此时,有一个第三方应用程序需要通过图库的选择功能选择一张图片进行编辑,那么这个第三方应用程序启动图库的选择界面的时候需要输入密码并确保密码正确。
本发明实施方式当检测到存在对需要解密的应用程序包或应用程序包所对应的应用程序进行的第一操作时,阻拦第一操作,要求用户输入解密密码;若解密密码和原始密码一致,则解除对第一操作的阻拦,并解密;若解密密码和原始密码不一致,则继续阻拦第一操作。由于是对应用程序包进行加密,通过这种方式,能够防止没有授权的用户或第三方应用程序访问加密的应用程序。
参阅图6,图6是本发明应用程序解密的方法另一实施方式的流程图,本实施方式和图3至图5的实施方式基本相同,相同之处请参见图3至图5以及相应的文字说明,不同之处在于本实施方式包括步骤S305和步骤S306,具体内容包括:
步骤S301:检测是否存在对需要解密的应用程序包所对应的应用程序进行的第一操作。
步骤S302:若存在,则阻拦第一操作,并提示用户输入需要解密的应用程序包所对应的应用程序的解密密码。
步骤S303:接收用户所输入的解密密码。
步骤S304:若用户输入的解密密码和需要解密的应用程序包的原始密码一致,则解除对第一操作的阻拦,并对需要解密的应用程序包进行解密,以使得可以对需要解密的应用程序包所对应的应用程序进行第一操作。
步骤S305:若用户输入的解密密码和需要解密的应用程序包的原始密码不一致,且用户输入的解密密码与原始密码不一致的输入次数大于预设密码次数,则锁定需要解密的应用程序包所对应的应用程序。
若用户输入的解密密码和需要解密的应用程序包的原始密码不一致,即输入的解密密码错误,这种情况有可能是输入失误导致输入的解密密码错误,或密码混淆导致输入的解密密码错误等原因出现,因此可以设置解密密码输入次数,当输入的解密密码错误超过预设密码次数时,表明第一操作不是授权的操作,可以锁定需要解密的应用程序包所对应的应用程序,以实现阻拦第一操作的目的。例如:预设密码次数3次,输入错误密码的次数超过3次时,锁定应用程序一段时间。
步骤S306:在对应用程序包所对应的应用程序进行第一操作的过程中,若检测到用户按后退键Back返回,则在用户重新进入应用程序包对应的应用程序时提示用户重新输入解密密码。
在对应用程序包所对应的应用程序进行第一操作的过程中,如果检测到用户按后退键Back返回,或者暂时离开应用程序包对应的应用程序时,在用户重新进入时,为了加强保密性,可以提示用户重新输入解密密码。
本发明实施方式当检测到存在对应用程序包所对应的应用程序进行的第一操作时,阻拦第一操作,要求用户输入解密密码;若解密密码和原始密码一致,则解除对第一操作的阻拦,并解密;若解密密码和原始密码不一致,则继续阻拦第一操作。由于是对应用程序包进行加密,通过这种方式,能够防止没有授权的用户或第三方应用程序访问加密的应用程序。另外,通过预设密码次数以及锁定的方式,可以既人性化又达到阻拦的目的;通过在用户按后退键Back返回,在用户重新进入时要求用户重新输入解密密码的方式,能够进一步增加保密性,防止其他用户或第三方应用程序利用用户的疏忽窃取保密的资料。
参阅图7和图8,图7和图8是本发明应用程序加密的装置两个实施方式的结构示意图,该装置包括:第一获取模块101、第二获取模块102以及加密模块103。
需要说明的是,本实施方式的装置可以执行图1和图2中的相应步骤。
第一获取模块101用于获取需要加密的应用程序的加密密码。
获取需要加密的应用程序的加密密码的方式可以是:要求客户端输入加密密码,然后接收客户端所输入的加密密码;或者,机器直接进行加密,然后机器通过其它方式可以让客户端获知加密密码。
如图8所示,具体来说,第一获取模块101包括:提示单元1011和接收单元1012。
提示单元1011用于提示用户输入需要加密的应用程序的加密密码。
接收单元1012用于接收用户所输入的加密密码。
进一步地,接收单元1012包括:第一接收子单元、显示子单元以及第一密码确认子单元。
第一接收子单元用于以密文的形式接收用户输入的字符。
显示子单元用于在用户点击明文复选框时,将用户输入的字符以明文的形式显示第一预定时间。
第一密码确认子单元用于在用户点击确认按键时,将用户输入的字符作为加密密码。
当用户输入字符时,以密文的形式显示,当所有的字符输入完成后,向用户提供一个明文复选框,用户点击明文复选框后,将用户输入的字符以明文的形式显示一段时间(即第一预定时间),以方便用户查看输入的字符(作为加密密码)是否正确,如果不正确,用户可以重新输入,如果正确,用户点击确认按键,即可将用户输入的字符作为加密密码。
或者,在另一实施方式中,接收单元1012包括:第二接收子单元和第二密码确认子单元。
第二接收子单元用于接收用户输入的字符,其中,在用户每输入一个字符时,每个字符以明文的形式显示第二预定时间后,再以密文的形式显示。
第二密码确认子单元用于在用户点击确认按键时,将用户输入的字符作为加密密码。
用户每输入一个字符以明文的形式显示一段时间(即第二预定时间),方便用户及时查看输入的每个字符是否正确,然后再以密文的形式显示所输入的字符,在用户点击确认按键时,即可将用户输入的字符作为加密密码。
第二获取模块102用于获取所述需要加密的应用程序所对应的应用程序包。
应用程序包是指用于封装应用程序代码的包,其中,应用程序代码可以为源代码,也可以为源代码经编译后的代码。应用程序中提供的功能都包含在这个应用程序包中。
包名是应用程序的关键字,获取需要加密的应用程序所对应的应用程序包,可以首先获取需要加密的应用程序所对应的应用程序包的包名,获取包名的方法可以有很多种,例如:由客户端将指定的应用程序包的包名以输入包名的形式进行输入,从而获取需要加密的应用程序包的包名;或由客户端通过选择指定的应用程序的包名的方式获取需要加密的应用程序包的包名。
加密模块103用于根据获取的加密密码,对应用程序包进行加密,以使得对应用程序进行第一操作需要密码验证。
根据获取的加密密码,即可对需要加密的应用程序包进行加密。第一操作是针对该要解密的应用程序包所对应的应用程序而进行的,其中,具体来说,第一操作为启动该应用程序。例如,用户通过桌面的应用程序图标进入该需要解密的应用程序包所对应的应用程序。
或,第一操作为第三方应用调用该应用程序。例如:第三方应用程序调用该需要解密的应用程序包所对应的应用程序的某一功能或某些功能。
或,第一操作为卸载该应用程序。
本发明实施方式通过对需要加密的应用程序包进行加密,以使得需要原始密码才可以对应用程序包所对应的应用程序进行第一操作。通过这种方式,能够防止没有授权的用户或第三方应用程序访问加密的应用程序。
参阅图9,图9是本发明应用程序解密的装置一实施方式的结构示意图,该装置包括:检测模块201、第一阻拦模块202、提示模块203、接收模块204、解密模块205以及第二阻拦模块206。
需要说明的是,本实施方式的装置可以执行图3至图6中的相应步骤。
检测模块201用于检测是否存在对需要解密的应用程序包所对应的应用程序进行的第一操作。
应用程序包是指用于封装应用程序代码的包,其中,应用程序代码可以为源代码,也可以为源代码经编译后的代码。应用程序中提供的功能都包含在这个应用程序包中。第一操作是针对该要解密的应用程序包所对应的应用程序而进行的,当检测到存在对该应用程序进行的第一操作时,判断该应用程序相对应的应用程序包是否已经加密,或者是否需要解密。
其中,具体来说,第一操作为启动该应用程序。例如,用户通过桌面的应用程序图标进入该应用程序。
或,第一操作为第三方应用调用该应用程序。例如:第三方应用程序调用该需要解密的应用程序包所对应的应用程序的某一功能或某些功能。
或,第一操作为卸载该应用程序。
第一阻拦模块202用于在存在对需要解密的应用程序包所对应的应用程序进行的第一操作时,阻拦第一操作。
提示模块203用于在第一阻拦模块阻拦第一操作后,提示用户输入需要解密的应用程序包的解密密码。
若检测到存在对应用程序进行的第一操作,且该应用程序对应的应用程序包已经加密,需要解密密码时,阻拦第一操作,然后提示用户输入解密密码,该解密密码用于对需要解密的应用程序包所对应的应用程序进行解密。
接收模块204用于接收用户所输入的解密密码。
其中,参阅图10,接收模块204包括:第一接收单元2041、显示单元2042以及第一密码确认单元2043。
第一接收单元2041用于以密文的形式接收用户输入的字符。
显示单元2042用于在用户点击明文复选框时,将用户输入的字符以明文的形式展示第一预定时间。
第一密码确认单元2043用于在用户点击确认按键时,将用户输入的字符作为解密密码。
当用户输入字符时,以密文的形式显示,当所有的字符输入完成后,向用户提供一个明文复选框,用户点击明文复选框后,将用户输入的字符以明文的形式显示一段时间(即第一预定时间),以方便用户查看输入的字符(作为解密密码)是否正确,如果不正确,用户可以重新输入,如果正确,用户点击确认按键,即可将用户输入的字符作为解密密码。
或者,参阅图11,接收模块204包括:第二接收单元2044和第二密码确认单元2045。
第二接收单元2044用于接收用户输入的字符,其中,在用户每输入一个字符时,每个字符以明文的形式显示第二预定时间后,再以密文的形式显示。
第二密码确认单元2045用于在用户点击确认按键时,将用户输入的字符作为解密密码。
用户每输入一个字符以明文的形式显示一段时间(即第二预定时间),方便用户及时查看输入的每个字符是否正确,然后再以密文的形式显示所输入的字符,在用户点击确认按键时,即可将用户输入的字符作为解密密码。
解密模块205用于在用户输入的解密密码和需要解密的应用程序包的原始密码一致时,解除对第一操作的阻拦,并对需要解密的应用程序包进行解密,以使得可以对需要解密的应用程序包所对应的应用程序进行第一操作。
若用户输入的解密密码与需要解密的应用程序包的原始密码一致,表明第一操作是授权的操作,因此解除对第一操作的阻拦,并对该应用程序包进行解密,从而使得授权的用户或第三方应用程序可以对该应用程序包所对应的应用程序进行第一操作。
第二阻拦模块206用于在用户输入的解密密码和需要解密的应用程序包的原始密码不一致时,继续阻拦第一操作。
若用户输入的解密密码和需要解密的应用程序包的原始密码不一致,表明第一操作不是授权的操作,因此继续阻拦第一操作。
其中,第二阻拦模块206具体用于在用户输入的解密密码和需要解密的应用程序包的原始密码不一致,且用户输入的解密密码与原始密码不一致的输入次数大于预设密码次数时,锁定需要解密的应用程序包所对应的应用程序。
若用户输入的解密密码和需要解密的应用程序包的原始密码不一致,即输入的解密密码错误,这种情况有可能是输入失误导致输入的解密密码错误,或密码混淆导致输入的解密密码错误等原因出现,因此可以设置解密密码输入次数,当输入的解密密码错误超过预设密码次数时,表明第一操作不是授权的操作,可以锁定需要解密的应用程序包所对应的应用程序,以实现阻拦第一操作的目的。
其中,提示模块203还用于在对应用程序包所对应的应用程序进行第一操作的过程中,若检测到用户按后退键Back返回时,在用户重新进入需要解密的应用程序包对应的应用程序时提示用户重新输入解密密码。
在对应用程序包所对应的应用程序进行第一操作的过程中,如果检测到用户按后退键Back返回,或者暂时离开应用程序包对应的应用程序时,在用户重新进入时,为了加强保密性,可以提示用户重新输入解密密码。
本发明实施方式当检测到存在对应用程序包所对应的应用程序进行的第一操作时,阻拦第一操作,要求用户输入解密密码;若解密密码和原始密码一致,则解除对第一操作的阻拦,并解密;若解密密码和原始密码不一致,则继续阻拦第一操作。由于是对应用程序包进行加密,通过这种方式,能够防止没有授权的用户或第三方应用程序访问加密的应用程序。另外,通过预设密码次数以及锁定的方式,可以既人性化又达到阻拦的目的;通过在用户按后退键Back返回,在用户重新进入时要求用户重新输入解密密码的方式,能够进一步增加保密性,防止其他用户或第三方应用程序利用用户的疏忽窃取保密的资料。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (30)
1.一种应用程序加密的方法,其特征在于,包括:
获取需要加密的应用程序的加密密码;
获取所述需要加密的应用程序所对应的应用程序包;
根据所述获取的加密密码,对所述应用程序包进行加密,以使得对所述应用程序进行第一操作需要密码验证。
2.根据权利要求1所述的方法,其特征在于,所述获取需要加密的应用程序的加密密码的步骤,包括:
提示用户输入所述需要加密的应用程序的加密密码;
接收所述用户所输入的加密密码。
3.根据权利要求2所述的方法,其特征在于,所述接收用户所输入的加密密码的步骤,包括:
以密文的形式接收用户输入的字符;
在所述用户点击明文复选框时,将所述用户输入的字符以明文的形式显示第一预定时间;
在所述用户点击确认按键时,将所述用户输入的字符作为加密密码。
4.根据权利要求2所述的方法,其特征在于,所述接收用户所输入的加密密码的步骤,包括:
接收用户输入的字符,其中,在所述用户每输入一个字符时,所述每个字符以明文的形式显示第二预定时间后,再以密文的形式显示;
在所述用户点击确认按键时,将所述用户输入的字符作为加密密码。
5.根据权利要求1所述的方法,其特征在于,所述第一操作为启动所述应用程序。
6.根据权利要求1所述的方法,其特征在于,所述第一操作为卸载所述应用程序。
7.根据权利要求1所述的方法,其特征在于,所述第一操作为第三方应用调用所述应用程序。
8.一种应用程序解密的方法,其特征在于,包括:
检测是否存在对需要解密的应用程序包所对应的应用程序进行的第一操作;
若存在,则阻拦所述第一操作,并提示用户输入所述需要解密的应用程序包的解密密码;
接收用户所输入的解密密码;
若所述用户输入的解密密码和所述需要解密的应用程序包的原始密码一致,则解除对所述第一操作的阻拦,并对所述需要解密的应用程序包进行解密,以使得可以对所述需要解密的应用程序包所对应的应用程序进行第一操作;
若所述用户输入的解密密码和所述需要解密的应用程序包的原始密码不一致,则继续阻拦所述第一操作。
9.根据权利要求8所述的方法,其特征在于,所述接收用户所输入的解密密码的步骤,包括:
以密文的形式接收用户输入的字符;
在所述用户点击明文复选框时,将所述用户输入的字符以明文的形式展示第一预定时间;
在所述用户点击确认按键时,将所述用户输入的字符作为解密密码。
10.根据权利要求8所述的方法,其特征在于,所述接收用户所输入的解密密码的步骤,包括:
接收用户输入的字符,其中,在所述用户每输入一个字符时,所述每个字符以明文的形式显示第二预定时间后,再以密文的形式显示;
在所述用户点击确认按键时,将所述用户输入的字符作为解密密码。
11.根据权利要求8所述的方法,其特征在于,所述第一操作为启动所述应用程序。
12.根据权利要求8所述的方法,其特征在于,所述第一操作为卸载所述应用程序。
13.根据权利要求8所述的方法,其特征在于,所述第一操作为第三方应用调用所述应用程序。
14.根据权利要求8所述的方法,其特征在于,所述若所述用户输入的解密密码和所述需要解密的应用程序包的原始密码不一致,则继续阻拦所述第一操作的步骤,包括:
若所述用户输入的解密密码和所述需要解密的应用程序包的原始密码不一致,且所述用户输入的解密密码与原始密码不一致的输入次数大于预设密码次数,则锁定所述需要解密的应用程序包所对应的应用程序。
15.根据权利要求8所述的方法,其特征在于,所述对所述需要解密的应用程序包进行解密的步骤之后,包括:在对所述应用程序包所对应的应用程序进行第一操作的过程中,若检测到用户按后退键Back返回,则在所述用户重新进入所述应用程序包对应的应用程序时提示用户重新输入解密密码。
16.一种应用程序加密的装置,其特征在于,所述装置包括:
第一获取模块,用于获取需要加密的应用程序的加密密码;
第二获取模块,用于获取所述需要加密的应用程序所对应的应用程序包;
加密模块,用于根据所述获取的加密密码,对所述应用程序包进行加密,以使得对所述应用程序进行第一操作需要密码验证。
17.根据权利要求16所述的装置,其特征在于,所述第一获取模块包括:
提示单元,用于提示用户输入所述需要加密的应用程序的加密密码;
接收单元,用于接收所述用户所输入的加密密码。
18.根据权利要求17所述的装置,其特征在于,所述接收单元包括:
第一接收子单元,用于以密文的形式接收用户输入的字符;
显示子单元,用于在所述用户点击明文复选框时,将所述用户输入的字符以明文的形式显示第一预定时间;
第一密码确认子单元,用于在所述用户点击确认按键时,将所述用户输入的字符作为加密密码。
19.根据权利要求17所述的装置,其特征在于,所述接收单元包括:
第二接收子单元,用于接收用户输入的字符,其中,在所述用户每输入一个字符时,所述每个字符以明文的形式显示第二预定时间后,再以密文的形式显示;
第二密码确认子单元,用于在所述用户点击确认按键时,将所述用户输入的字符作为加密密码。
20.根据权利要求16所述的装置,其特征在于,所述第一操作为启动所述应用程序。
21.根据权利要求16所述的装置,其特征在于,所述第一操作为卸载所述应用程序。
22.根据权利要求16所述的装置,其特征在于,所述第一操作为第三方应用调用所述应用程序。
23.一种应用程序解密的装置,其特征在于,所述装置包括:
检测模块,用于检测是否存在对需要解密的应用程序包所对应的应用程序进行的第一操作;
第一阻拦模块,用于在存在对需要解密的应用程序包所对应的应用程序进行的第一操作时,阻拦所述第一操作;
提示模块,用于在所述第一阻拦模块阻拦所述第一操作后,提示用户输入所述需要解密的应用程序包的解密密码;
接收模块,用于接收用户所输入的解密密码;
解密模块,用于在所述用户输入的解密密码和所述需要解密的应用程序包的原始密码一致时,解除对所述第一操作的阻拦,并对所述需要解密的应用程序包进行解密,以使得可以对所述需要解密的应用程序包所对应的应用程序进行第一操作;
第二阻拦模块,用于在所述用户输入的解密密码和所述需要解密的应用程序包的原始密码不一致时,继续阻拦所述第一操作。
24.根据权利要求23所述的装置,其特征在于,所述接收模块包括:
第一接收单元,用于以密文的形式接收用户输入的字符;
显示单元,用于在所述用户点击明文复选框时,将所述用户输入的字符以明文的形式展示第一预定时间;
第一密码确认单元,用于在所述用户点击确认按键时,将所述用户输入的字符作为解密密码。
25.根据权利要求23所述的装置,其特征在于,所述接收模块包括:
第二接收单元,用于接收用户输入的字符,其中,在所述用户每输入一个字符时,所述每个字符以明文的形式显示第二预定时间后,再以密文的形式显示;
第二密码确认单元,用于在所述用户点击确认按键时,将所述用户输入的字符作为解密密码。
26.根据权利要求23所述的装置,其特征在于,所述第一操作为启动所述应用程序。
27.根据权利要求23所述的装置,其特征在于,所述第一操作为卸载所述应用程序。
28.根据权利要求23所述的装置,其特征在于,所述第一操作为第三方应用调用所述应用程序。
29.根据权利要求23所述的装置,其特征在于,所述第二阻拦模块具体用于在所述用户输入的解密密码和所述需要解密的应用程序包的原始密码不一致,且所述用户输入的解密密码与原始密码不一致的输入次数大于预设密码次数时,锁定所述需要解密的应用程序包所对应的应用程序。
30.根据权利要求23所述的装置,其特征在于,所述提示模块还用于在对所述应用程序包所对应的应用程序进行第一操作的过程中,若检测到用户按后退键Back返回时,在所述用户重新进入所述需要解密的应用程序包对应的应用程序时提示用户重新输入解密密码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310728667.9A CN104751028B (zh) | 2013-12-25 | 2013-12-25 | 应用程序加密、解密的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310728667.9A CN104751028B (zh) | 2013-12-25 | 2013-12-25 | 应用程序加密、解密的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104751028A true CN104751028A (zh) | 2015-07-01 |
CN104751028B CN104751028B (zh) | 2018-08-17 |
Family
ID=53590702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310728667.9A Active CN104751028B (zh) | 2013-12-25 | 2013-12-25 | 应用程序加密、解密的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104751028B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203061A (zh) * | 2016-06-27 | 2016-12-07 | 维沃移动通信有限公司 | 一种应用程序的加密方法及移动终端 |
CN106992853A (zh) * | 2015-10-27 | 2017-07-28 | 信特尼有限公司 | 密码程序多样化 |
WO2017215436A1 (zh) * | 2016-06-14 | 2017-12-21 | 中兴通讯股份有限公司 | 信息加密、解密方法、装置及终端 |
CN107577955A (zh) * | 2017-08-23 | 2018-01-12 | 北京国信云服科技有限公司 | 一种Android系统应用Hook方法及应用锁 |
CN109032442A (zh) * | 2018-06-26 | 2018-12-18 | Oppo(重庆)智能科技有限公司 | 内容显示方法、装置、存储介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231115A (zh) * | 2011-06-07 | 2011-11-02 | 深圳市九洲电器有限公司 | 一种机顶盒安全启动的方法及系统 |
CN102346831A (zh) * | 2011-10-31 | 2012-02-08 | 广东欧珀移动通信有限公司 | Android操作系统的手持设备隐私加密保护方法 |
CN102891843A (zh) * | 2012-09-18 | 2013-01-23 | 北京深思洛克软件技术股份有限公司 | 本地服务单元认证安卓客户端应用程序的方法 |
CN102938032A (zh) * | 2012-10-17 | 2013-02-20 | 中兴通讯股份有限公司 | 一种对通讯终端上应用程序加、解密的方法、系统和终端 |
CN103324898A (zh) * | 2012-03-19 | 2013-09-25 | 宇龙计算机通信科技(深圳)有限公司 | 触摸屏显示内容的加密/解密方法及通信终端 |
-
2013
- 2013-12-25 CN CN201310728667.9A patent/CN104751028B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231115A (zh) * | 2011-06-07 | 2011-11-02 | 深圳市九洲电器有限公司 | 一种机顶盒安全启动的方法及系统 |
CN102346831A (zh) * | 2011-10-31 | 2012-02-08 | 广东欧珀移动通信有限公司 | Android操作系统的手持设备隐私加密保护方法 |
CN103324898A (zh) * | 2012-03-19 | 2013-09-25 | 宇龙计算机通信科技(深圳)有限公司 | 触摸屏显示内容的加密/解密方法及通信终端 |
CN102891843A (zh) * | 2012-09-18 | 2013-01-23 | 北京深思洛克软件技术股份有限公司 | 本地服务单元认证安卓客户端应用程序的方法 |
CN102938032A (zh) * | 2012-10-17 | 2013-02-20 | 中兴通讯股份有限公司 | 一种对通讯终端上应用程序加、解密的方法、系统和终端 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106992853A (zh) * | 2015-10-27 | 2017-07-28 | 信特尼有限公司 | 密码程序多样化 |
WO2017215436A1 (zh) * | 2016-06-14 | 2017-12-21 | 中兴通讯股份有限公司 | 信息加密、解密方法、装置及终端 |
CN106203061A (zh) * | 2016-06-27 | 2016-12-07 | 维沃移动通信有限公司 | 一种应用程序的加密方法及移动终端 |
CN106203061B (zh) * | 2016-06-27 | 2020-03-06 | 维沃移动通信有限公司 | 一种应用程序的加密方法及移动终端 |
CN107577955A (zh) * | 2017-08-23 | 2018-01-12 | 北京国信云服科技有限公司 | 一种Android系统应用Hook方法及应用锁 |
CN109032442A (zh) * | 2018-06-26 | 2018-12-18 | Oppo(重庆)智能科技有限公司 | 内容显示方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104751028B (zh) | 2018-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106656476B (zh) | 一种密码保护方法、装置及计算机可读存储介质 | |
JP6046829B2 (ja) | スクリーンロック解除方法、装置、端末、プログラム及び記録媒体 | |
CN102750497B (zh) | 一种解密隐私内容的方法及装置 | |
CN107786331B (zh) | 数据处理方法、装置、系统及计算机可读存储介质 | |
CN105450620A (zh) | 一种信息处理方法及装置 | |
CN105681039A (zh) | 用于生成密钥及对应解密的方法和设备 | |
EP3337088A1 (en) | Data encryption method, decryption method, apparatus, and system | |
CN104424409A (zh) | 一种应用解锁方法及装置 | |
CN104751028A (zh) | 应用程序加密、解密的方法及装置 | |
CN103763091A (zh) | 一种应用程序加密、解密方法及加密、解密装置 | |
CN104468937A (zh) | 移动终端的数据加、解密方法、装置及保护系统 | |
CN105975867A (zh) | 一种数据处理方法 | |
US20170200016A1 (en) | Information processing method, terminal and nonvolatile machine-readable medium | |
CN103971034A (zh) | 一种保护Java软件的方法及装置 | |
CN113553572A (zh) | 资源信息获取方法、装置、计算机设备和存储介质 | |
CN111193588B (zh) | 基于进程的信息处理方法、装置及存储介质 | |
US20110170689A1 (en) | Terminal and method for processing encrypted message | |
CN105825142A (zh) | 用于对移动终端中文档加解密的方法和装置 | |
CN113032753A (zh) | 身份验证的方法及装置 | |
EP2985712B1 (en) | Application encryption processing method, apparatus, and terminal | |
CN107135074B (zh) | 一种高级安全方法和装置 | |
CN104715172B (zh) | 一种应用程序启动方法和装置 | |
CN116233158A (zh) | 一种数据存储方法、装置、设备及存储介质 | |
CN105451201A (zh) | 移动终端及其远程控制方法、装置及系统 | |
CN113938878A (zh) | 一种设备标识符防伪造方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |