《一种安全键盘的工作方法.pdf》由会员分享,可在线阅读,更多相关《一种安全键盘的工作方法.pdf(28页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103745174 A (43)申请公布日 2014.04.23 CN 103745174 A (21)申请号 201310743214.3 (22)申请日 2013.12.30 G06F 21/83(2013.01) G06F 21/60(2013.01) (71)申请人 飞天诚信科技股份有限公司 地址 100085 北京市海淀区学清路 9 号汇智 大厦 B 楼 17 层 (72)发明人 陆舟 于华章 (54) 发明名称 一种安全键盘的工作方法 (57) 摘要 本发明涉及一种安全键盘的工作方法, 属于 信息安全领域。本发明提供的方法具体为, 密码 框控件判断接收到的。
2、数据的类型, 如果是第一触 屏事件通知, 则设置键盘控件状态标识, 并将其作 为绘制键盘控件通知发送给键盘控件 ; 如果是键 值信息通知, 则根据键值执行相应操作, 并将执行 结果保存至第一存储区 ; 如果是获取信息通知, 则获取第一存储区中的数据, 并将其发送给上层 应用 ; 键盘控件接收到事件通知时, 判断事件通 知类型, 如果是绘制键盘控件事件通知, 则根据键 盘控件状态标识显示或隐藏键盘控件 ; 如果是第 二触屏事件通知, 则根据键值类型执行相应操作 ; 如果是切换屏幕方向事件通知, 则重绘键盘控件。 (51)Int.Cl. 权利要求书 4 页 说明书 15 页 附图 8 页 (19)。
3、中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书4页 说明书15页 附图8页 (10)申请公布号 CN 103745174 A CN 103745174 A 1/4 页 2 1. 一种安全键盘的工作方法, 其特征在于, 上层应用初始化密码框控件、 初始化键盘控 件, 清空第一存储区、 将切换屏幕方向标识复位、 将键盘控件状态标识复位 ; 步骤 S1 : 所述密码框控件等待接收数据 ; 步骤 S2 : 所述密码框控件判断接收到的数据的类型, 如果是第一触屏事件通知, 则执 行步骤 S3 ; 如果是键值信息通知, 则执行步骤 S4 ; 如果是获取信息通知, 则执行步骤 S7 ; 步骤。
4、 S3 : 所述密码框控件判断所述键盘控件状态标识是否复位, 是则将所述键盘控件 状态标识置位, 并将所述键盘控件状态标识作为绘制键盘控件事件通知发送给所述键盘控 件, 返回步骤 S1 ; 否则将所述键盘控件状态标识复位, 并将所述键盘控件状态标识作为绘 制键盘控件事件通知发送给所述键盘控件, 返回步骤 S1 ; 步骤 S4 : 所述密码框控件判断所述键值信息通知, 如果是字符键, 则执行步骤 S5 ; 如果 是删除键, 则执行步骤 S6 ; 步骤 S5 : 所述密码框控件获取所述第一存储区中的数据, 并对获取到的数据进行解 密, 得到第一明文, 从所述键值信息通知中获取密文, 对所述密文进行。
5、解密, 得到第二明文, 将所述第一明文和所述第二明文顺序拼接, 对拼接结果进行加密, 得到第一加密结果, 用所 述第一加密结果更新所述第一存储区中的数据, 返回步骤 S1 ; 步骤 S6 : 所述密码框控件获取所述第一存储区中的数据, 并对获取到的数据进行解密 得到明文, 将所述明文中的最后一个字符删除得到新的明文, 对所述新的明文进行加密, 得 到第二加密结果, 用所述第二加密结果更新所述第一存储区中的数据, 返回步骤 S1 ; 步骤 S7 : 所述密码框控件获取所述第一存储区中的数据, 并对获取到的数据进行解密 得到待发送信息, 并所述待发送信息发送给所述上层应用, 清空所述第一存储区, 。
6、返回步骤 S1 ; 步骤 W1 : 所述键盘控件等待接收事件通知 ; 步骤 W2 : 所述键盘控件判断接收到的事件通知类型, 如果是绘制键盘控件事件通知, 则执行步骤 W3 ; 如果是第二触屏事件通知, 则执行步骤 W4 ; 如果是切换屏幕方向事件通知, 则根据所述切换屏幕方向标识绘制按键背景图, 在所述按键背景图上绘制字符, 返回步骤 W1 ; 步骤 W3 : 所述键盘控件从所述绘制键盘事件通知中获取键盘控件状态标识, 判断所述 键盘控件状态标识是否置位, 是则根据所述切换屏幕方向标识绘制按键背景图, 在所述按 键背景图上绘制字符, 返回步骤 W1 ; 否则隐藏所述键盘控件, 返回步骤 W1。
7、 ; 步骤 W4 : 所述键盘控件根据接收到的第二触屏事件通知获取键值, 判断所述键值的类 型, 如果是字符键, 则对所述键值进行加密得到密文, 将所述密文和字符键信息作为键值信 息通知发送给所述密码框控件, 在所述按键背景图上绘制字符, 返回步骤 W1 ; 如果是删除 键, 则将删除键信息作为所述键值信息通知发送给所述密码框控件, 在所述按键背景图上 绘制字符, 返回步骤 W1。 2. 如权利要求 1 所述的方法, 其特征在于, 所述初始化, 还包括将分屏标识复位 ; 所述步骤 W3 中所述根据所述切换屏幕方向标识绘制按键背景图, 在所述按键背景图 上绘制字符, 具体为, 步骤 Z1, 根据。
8、所述切换屏幕方向标识判断屏幕方向, 如果是横屏, 则执行步骤 Z2 ; 如果 是竖屏, 则执行步骤 Z3 ; 权 利 要 求 书 CN 103745174 A 2 2/4 页 3 步骤 Z2 : 获取屏幕的高度, 将其作为按键面板的宽度, 根据所述按键面板的宽度和按 键属性信息计算按键面板的高度, 执行步骤 Z4 ; 步骤 Z3 : 将所述分屏标识复位, 获取屏幕的宽度, 将其作为按键面板的宽度, 根据所述 按键面板的宽度和按键属性信息计算按键面板的高度, 执行步骤 Z4 ; 步骤 Z4 : 调用绘制背景图函数根据所述按键面板的高度和所述按键面板的宽度绘制 按键面板背景图, 在所述按键面板背景。
9、图上绘制按键背景图, 执行步骤 Z5 ; 步骤 Z5 : 调用绘制字符函数在所述按键背景图上绘制字符, 显示键盘控件。 3. 如权利要求 2 所述的方法, 其特征在于, 所述初始化还包括, 将按键状态标识置为小 写标识 ; 所述在所述按键背景图上绘制字符, 具体为, 步骤 q1 : 初始化字符容器 ; 步骤 q2 : 创建一个按键信息对象 ; 步骤 q3 : 从所属字符容器中随机获取一个待绘制的字符作为当前键值, 计算当前键值 对应的按键的坐标、 按键的绘制区域 ; 步骤 q4 : 调用绘制背景函数, 根据所述按键的坐标和所述按键的绘制区域绘制当前键 值对应的按键背景图, 调用绘制字符函数绘制。
10、当前键值 ; 步骤 q5 : 将所述当前键值、 所述按键的坐标、 所述按键的绘制区域作为按键信息对象, 将所述按键信息对象保存至所述按键信息对象容器中, 删除所述字符容器中的所述待绘制 的字符 ; 步骤 q6 : 判断所述字符容器中是否存在待绘制的字符, 是则返回步骤 q2 ; 否则结束操 作 ; 所述初始化字符容器具体为, 根据当前选择的按键的类型初始化字符容器, 如果当前 选择的按键为字母键时, 判断所述按键状态标识, 如果是小写标识, 则将所述字符容器中存 储小写字母 ; 如果是锁定大写标识, 则将所述字符容器中存储大写字母。 4. 如权利要求 3 所述的方法, 其特征在于, 所述步骤 。
11、W4 中所述根据接收到的第二触屏 事件通知获取键值, 具体为, 所述键盘控件根据所述第二触屏事件通知获取触摸点坐标, 遍历所述按键信息对象容 器中的按键信息对象, 获取与所述触摸点坐标匹配的按键信息对象, 根据所述按键信息对 象获取键值。 5. 如权利要求 1 所述的方法, 其特征在于, 所述步骤 W4 中所述键值的类型还包括退出 键 ; 如果是退出键将退出键信息作为所述键值信息通知发送给所述密码框控件, 结束 ; 所述步骤 S4 中还包括, 退出键 ; 如果是退出键, 则将所述键盘控件状态标识复位, 并将所述键盘控件状态标识作为绘 制键盘控件事件通知发送给键盘控件, 清空所述第一存储区, 返。
12、回步骤 S1。 6. 如权利要求 2 所述的方法, 其特征在于, 所述步骤 W4 中所述键值的类型还包括分屏 键 ; 如果是分屏键, 则执行步骤 X1 ; 步骤 X1 : 判断所述切换屏幕方向标识, 如果是横屏, 则执行步骤 X2 ; 如果是竖屏, 则返回步骤 W1 ; 权 利 要 求 书 CN 103745174 A 3 3/4 页 4 步骤 X2 : 判断所述分屏标识是否置位, 是则执行步骤 X3 ; 否则执行步骤 X6 ; 步骤 X3 : 获取屏幕的高度, 将其作为按键面板的宽度, 根据当前选择的按键的类型获 取按键属性信息, 根据所述按键面板的宽度和所述按键属性信息计算按键面板的高度,。
13、 执 行步骤 X4 ; 步骤 X4 : 调用绘制背景函数, 根据所述按键面板的宽度和所述按键面板的高度绘制按 键面板背景图, 根据所述按键属性信息在按键面板背景图上绘制按键背景图 ; 步骤 X5 : 调用绘制字符函数, 根据所述按键属性信息在按键背景图上绘制字符, 将所 述分屏标识复位, 返回步骤 W1 ; 步骤 X6 : 获取屏幕的高度, 根据所述屏幕的高度计算分键盘的宽度, 根据当前选择的 按键的类型获取按键属性信息, 根据所述分键盘的宽度和所述按键属性信息计算分键盘的 高度, 执行步骤 X7 ; 步骤 X7 : 调用绘制背景函数, 根据所述分键盘的宽度和所述分键盘的高度绘制第一分 键盘的。
14、按键面板背景图和第二分键盘的按键面板背景图, 根据所述按键属性信息在所述第 一分键盘的按键面板背景图上绘制按键背景图, 在所述第二分键盘的按键面板背景图上绘 制按键背景图 ; 步骤 X8 : 调用绘制字符函数在所述第一分键盘的按键背景图上绘制字符, 在所述第二 分键盘的按键背景图上绘制字符, 将所述分屏标识置位, 返回步骤 W1。 7. 如权利要求 6 所述的方法, 其特征在于, 所述按键属性信息包括, 按键总数、 按键高 度、 按键宽度。 8. 如权利要求 7 所述的方法, 其特征在于, 所述根据所述按键面板的宽度和所述按键 属性信息计算按键面板的高度, 具体为, 根据所述按键面板的宽度和所。
15、述按键宽度计算每行排列的按键的个数, 根据所述按键 总数和所述每行排列的按键的个数计算按键排列的行数, 根据所述行数和所述按键高度计 算按键面板的高度。 9. 如权利要求 2 所述的方法, 其特征在于, 所述初始化, 还包括初始化按键计数值、 按 键状态标识, 清空第二存储区 ; 所述步骤 W4 中所述键值的类型还包括上档键 ; 如果是上档键, 则执行步骤 C1 ; 步骤 C1 : 判断所述按键状态标识是否为锁定大写标识, 是则将所述按键状态标识置为 小写标识, 调用绘制字符函数在按键背景图上绘制字符, 返回步骤 W1 ; 否则执行步骤 C2 ; 步骤 C2 : 更新所述按键计数值, 根据所述。
16、触摸事件通知判断按键从被按下到弹起之间 的时间间隔是否大于第一预设时间, 是则进入支持多点触摸模式, 返回步骤 W1 ; 否则执行 步骤 C3 ; 步骤 C3 : 将所述按键状态标识置为锁定大写标识, 调用绘制字符函数在按键背景图上 绘制字符, 返回步骤 W1。 10. 如权利要求 1 所述的方法, 其特征在于, 所述步骤 S5 具体为, 判断所述第一存储区 是否为空, 是则从所述键值信息通知中获取密文, 将所述密文保存至所述第一存储区中, 返 回步骤 S1 ; 否则获取所述第一存储区中的数据, 并对获取到的数据进行解密, 得到第一明 文, 从所述键值信息通知中获取密文, 对所述密文进行解密,。
17、 得到第二明文, 将所述第一明 文和所述第二明文顺序拼接, 对拼接结果进行加密, 得到第一加密结果, 用所述第一加密结 权 利 要 求 书 CN 103745174 A 4 4/4 页 5 果更新所述第一存储区中的数据, 返回步骤 S1。 11. 如权利要求 1 所述的方法, 其特征在于, 所述步骤 S6 中所述获取所述第一存储区中的数据具体为, 判断所述第一存储区是否 为空, 是则提示不存在要删除的数据, 返回步骤 S1 ; 否则获取所述第一存储区中的数据。 12. 如权利要求 1 所述的方法, 其特征在于, 所述步骤 S7 具体为, 判断所述第一存储区是否为空, 是则提示不存在要发送的数据。
18、, 返回步骤 S1 ; 否则获取所述第一存储区中的数据并对其进行解密, 将解密后的数据作为待 发送信息, 将所述待发送信息发送给上层应用, 清空所述第一存储区, 结束。 权 利 要 求 书 CN 103745174 A 5 1/15 页 6 一种安全键盘的工作方法 技术领域 0001 本发明涉及信息安全领域, 特别涉及一种安全键盘的工作方法。 背景技术 0002 随着电子商务的兴起, 网络安全越来越受到关注, 在现有技术中, 人们常使用软键 盘输入数据来提高网络交易的安全性, 软键盘是显示在屏幕上的由软件控制的一种虚拟键 盘, 用户可以用鼠标点击软键盘上的按键进行数据输入。 0003 本发明人。
19、发现, 现有技术存在以下缺陷, 用户在软键盘上输入数据时, 由于软键盘 上的按键位置是不变的, 所以黑客可以通过捕获鼠标的轨迹方式盗取输入数据。 发明内容 0004 为解决现有技术中的缺陷, 本发明提供一种安全键盘的工作方法, 包括, 0005 上层应用初始化密码框控件、 初始化键盘控件, 清空第一存储区、 将切换屏幕方向 标识复位、 将键盘控件状态标识复位 ; 0006 步骤 S1 : 所述密码框控件等待接收数据 ; 0007 步骤 S2 : 所述密码框控件判断接收到的数据的类型, 如果是第一触屏事件通知, 则执行步骤 S3 ; 如果是键值信息通知, 则执行步骤 S4 ; 如果是获取信息通知。
20、, 则执行步骤 S7 ; 0008 步骤 S3 : 所述密码框控件判断所述键盘控件状态标识是否复位, 是则将所述键盘 控件状态标识置位, 并将所述键盘控件状态标识作为绘制键盘控件事件通知发送给所述键 盘控件, 返回步骤 S1 ; 否则将所述键盘控件状态标识复位, 并将所述键盘控件状态标识作 为绘制键盘控件事件通知发送给所述键盘控件, 返回步骤 S1 ; 0009 步骤 S4 : 所述密码框控件判断所述键值信息通知, 如果是字符键, 则执行步骤 S5 ; 如果是删除键, 则执行步骤 S6 ; 0010 步骤 S5 : 所述密码框控件获取所述第一存储区中的数据, 并对获取到的数据进行 解密, 得到。
21、第一明文, 从所述键值信息通知中获取密文, 对所述密文进行解密, 得到第二明 文, 将所述第一明文和所述第二明文顺序拼接, 对拼接结果进行加密, 得到第一加密结果, 用所述第一加密结果更新所述第一存储区中的数据, 返回步骤 S1 ; 0011 步骤 S6 : 所述密码框控件获取所述第一存储区中的数据, 并对获取到的数据进行 解密得到明文, 将所述明文中的最后一个字符删除得到新的明文, 对所述新的明文进行加 密, 得到第二加密结果, 用所述第二加密结果更新所述第一存储区中的数据, 返回步骤 S1 ; 0012 步骤 S7 : 所述密码框控件获取所述第一存储区中的数据, 并对获取到的数据进行 解密。
22、得到待发送信息, 并所述待发送信息发送给所述上层应用, 清空所述第一存储区, 返回 步骤 S1 ; 0013 步骤 W1 : 所述键盘控件等待接收事件通知 ; 0014 步骤 W2 : 所述键盘控件判断接收到的事件通知类型, 如果是绘制键盘控件事件通 说 明 书 CN 103745174 A 6 2/15 页 7 知, 则执行步骤 W3 ; 如果是第二触屏事件通知, 则执行步骤 W4 ; 如果是切换屏幕方向事件通 知, 则根据所述切换屏幕方向标识绘制按键背景图, 在所述按键背景图上绘制字符, 返回步 骤 W1 ; 0015 步骤 W3 : 所述键盘控件从所述绘制键盘事件通知中获取键盘控件状态标。
23、识, 判断 所述键盘控件状态标识是否置位, 是则根据所述切换屏幕方向标识绘制按键背景图, 在所 述按键背景图上绘制字符, 返回步骤 W1 ; 否则隐藏所述键盘控件, 返回步骤 W1 ; 0016 步骤 W4 : 所述键盘控件根据接收到的第二触屏事件通知获取键值, 判断所述键值 的类型, 如果是字符键, 则对所述键值进行加密得到密文, 将所述密文和字符键信息作为键 值信息通知发送给所述密码框控件, 在所述按键背景图上绘制字符, 返回步骤 W1 ; 如果是 删除键, 则将删除键信息作为所述键值信息通知发送给所述密码框控件, 在所述按键背景 图上绘制字符, 返回步骤 W1。 0017 所述初始化, 。
24、还包括将分屏标识复位 ; 0018 所述步骤 W3 中所述根据所述切换屏幕方向标识绘制按键背景图, 在所述按键背 景图上绘制字符, 具体为, 0019 步骤 Z1, 根据所述切换屏幕方向标识判断屏幕方向, 如果是横屏, 则执行步骤 Z2 ; 如果是竖屏, 则执行步骤 Z3 ; 0020 步骤 Z2 : 获取屏幕的高度, 将其作为按键面板的宽度, 根据所述按键面板的宽度 和按键属性信息计算按键面板的高度, 执行步骤 Z4 ; 0021 步骤 Z3 : 将所述分屏标识复位, 获取屏幕的宽度, 将其作为按键面板的宽度, 根据 所述按键面板的宽度和按键属性信息计算按键面板的高度, 执行步骤 Z4 ; 。
25、0022 步骤 Z4 : 调用绘制背景图函数根据所述按键面板的高度和所述按键面板的宽度 绘制按键面板背景图, 在所述按键面板背景图上绘制按键背景图, 执行步骤 Z5 ; 0023 步骤 Z5 : 调用绘制字符函数在所述按键背景图上绘制字符, 显示键盘控件。 0024 所述初始化还包括, 将按键状态标识置为小写标识 ; 所述在所述按键背景图上绘 制字符, 具体为, 0025 步骤 q1 : 初始化字符容器 ; 0026 步骤 q2 : 创建一个按键信息对象 ; 0027 步骤 q3 : 从所属字符容器中随机获取一个待绘制的字符作为当前键值, 计算当前 键值对应的按键的坐标、 按键的绘制区域 ; 。
26、0028 步骤 q4 : 调用绘制背景函数, 根据所述按键的坐标和所述按键的绘制区域绘制当 前键值对应的按键背景图, 调用绘制字符函数绘制当前键值 ; 0029 步骤 q5 : 将所述当前键值、 所述按键的坐标、 所述按键的绘制区域作为按键信息 对象, 将所述按键信息对象保存至所述按键信息对象容器中, 删除所述字符容器中的所述 待绘制的字符 ; 0030 步骤 q6 : 判断所述字符容器中是否存在待绘制的字符, 是则返回步骤 q2 ; 否则结 束操作 ; 0031 所述初始化字符容器具体为, 根据当前选择的按键的类型初始化字符容器, 如果 当前选择的按键为字母键时, 判断所述按键状态标识, 如。
27、果是小写标识, 则将所述字符容器 中存储小写字母 ; 如果是锁定大写标识, 则将所述字符容器中存储大写字母。 说 明 书 CN 103745174 A 7 3/15 页 8 0032 所述步骤 W4 中所述根据接收到的第二触屏事件通知获取键值, 具体为, 0033 所述键盘控件根据所述第二触屏事件通知获取触摸点坐标, 遍历所述按键信息对 象容器中的按键信息对象, 获取与所述触摸点坐标匹配的按键信息对象, 根据所述按键信 息对象获取键值。 0034 所述步骤 W4 中所述键值的类型还包括退出键 ; 0035 如果是退出键将退出键信息作为所述键值信息通知发送给所述密码框控件, 结 束 ; 0036。
28、 所述步骤 S4 中还包括, 退出键 ; 0037 如果是退出键, 则将所述键盘控件状态标识复位, 并将所述键盘控件状态标识作 为绘制键盘控件事件通知发送给键盘控件, 清空所述第一存储区, 返回步骤 S1。 0038 所述步骤 W4 中所述键值的类型还包括分屏键 ; 0039 如果是分屏键, 则执行步骤 X1 ; 0040 步骤 X1 : 判断所述切换屏幕方向标识, 如果是横屏, 则执行步骤 X2 ; 如果是竖屏, 则返回步骤 W1 ; 0041 步骤 X2 : 判断所述分屏标识是否置位, 是则执行步骤 X3 ; 否则执行步骤 X6 ; 0042 步骤 X3 : 获取屏幕的高度, 将其作为按键。
29、面板的宽度, 根据当前选择的按键的类 型获取按键属性信息, 根据所述按键面板的宽度和所述按键属性信息计算按键面板的高 度, 执行步骤 X4 ; 0043 步骤 X4 : 调用绘制背景函数, 根据所述按键面板的宽度和所述按键面板的高度绘 制按键面板背景图, 根据所述按键属性信息在按键面板背景图上绘制按键背景图 ; 0044 步骤 X5 : 调用绘制字符函数, 根据所述按键属性信息在按键背景图上绘制字符, 将所述分屏标识复位, 返回步骤 W1 ; 0045 步骤 X6 : 获取屏幕的高度, 根据所述屏幕的高度计算分键盘的宽度, 根据当前选 择的按键的类型获取按键属性信息, 根据所述分键盘的宽度和所。
30、述按键属性信息计算分键 盘的高度, 执行步骤 X7 ; 0046 步骤 X7 : 调用绘制背景函数, 根据所述分键盘的宽度和所述分键盘的高度绘制第 一分键盘的按键面板背景图和第二分键盘的按键面板背景图, 根据所述按键属性信息在所 述第一分键盘的按键面板背景图上绘制按键背景图, 在所述第二分键盘的按键面板背景图 上绘制按键背景图 ; 0047 步骤 X8 : 调用绘制字符函数在所述第一分键盘的按键背景图上绘制字符, 在所述 第二分键盘的按键背景图上绘制字符, 将所述分屏标识置位, 返回步骤 W1。 0048 所述按键属性信息包括, 按键总数、 按键高度、 按键宽度。 0049 所述根据所述按键面。
31、板的宽度和所述按键属性信息计算按键面板的高度, 具体 为, 0050 根据所述按键面板的宽度和所述按键宽度计算每行排列的按键的个数, 根据所述 按键总数和所述每行排列的按键的个数计算按键排列的行数, 根据所述行数和所述按键高 度计算按键面板的高度。 0051 所述初始化, 还包括初始化按键计数值、 按键状态标识, 清空第二存储区 ; 0052 所述步骤 W4 中所述键值的类型还包括上档键 ; 如果是上档键, 则执行步骤 C1 ; 说 明 书 CN 103745174 A 8 4/15 页 9 0053 步骤 C1 : 判断所述按键状态标识是否为锁定大写标识, 是则将所述按键状态标识 置为小写标。
32、识, 调用绘制字符函数在按键背景图上绘制字符, 返回步骤 W1 ; 否则执行步骤 C2 ; 0054 步骤 C2 : 更新所述按键计数值, 根据所述触摸事件通知判断按键从被按下到弹起 之间的时间间隔是否大于第一预设时间, 是则进入支持多点触摸模式, 返回步骤 W1 ; 否则 执行步骤 C3 ; 0055 步骤 C3 : 将所述按键状态标识置为锁定大写标识, 调用绘制字符函数在按键背景 图上绘制字符, 返回步骤 W1。 0056 所述步骤 S5 具体为, 判断所述第一存储区是否为空, 是则从所述键值信息通知中 获取密文, 将所述密文保存至所述第一存储区中, 返回步骤 S1 ; 否则获取所述第一存。
33、储区 中的数据, 并对获取到的数据进行解密, 得到第一明文, 从所述键值信息通知中获取密文, 对所述密文进行解密, 得到第二明文, 将所述第一明文和所述第二明文顺序拼接, 对拼接结 果进行加密, 得到第一加密结果, 用所述第一加密结果更新所述第一存储区中的数据, 返回 步骤 S1。 0057 所述步骤 S6 中所述获取所述第一存储区中的数据具体为, 判断所述第一存储区 是否为空, 是则提示不存在要删除的数据, 返回步骤 S1 ; 否则获取所述第一存储区中的数 据。 0058 所述步骤 S7 具体为, 判断所述第一存储区是否为空, 是则提示不存在要发送的数 据, 返回步骤 S1 ; 否则获取所述。
34、第一存储区中的数据并对其进行解密, 将解密后的数据作 为待发送信息, 将所述待发送信息发送给上层应用, 清空所述第一存储区, 结束。 0059 本发明的有益效果为, 采用本发明提供的方法, 每次触发键盘控件时, 键盘控件上 的按键位置都是随机分布的, 达到了防止黑客捕获鼠标轨迹盗取输入数据的目的 ; 并且键 盘控件调用加密函数对输入的数据进行加密, 实现密文传输, 无法通过反编译密文获取密 码, 提高了输入数据的安全性。 附图说明 0060 图 1-1 为本发明实施例 1 提供的一种上层应用工作的方法流程图 ; 0061 图 1 为本发明实施例 1 提供的一种密码框触屏事件处理函数的工作方法流。
35、程图 ; 0062 图 2 为本发明实施例 1 提供的一种绘制键盘控件的方法流程图 ; 0063 图 3 为本发明实施例 1 提供的一种绘制字符按键的方法流程图 ; 0064 图4-1、 4-2、 4-3为本发明实施例1提供的一种键盘触屏事件处理函数的工作方法 流程图 ; 0065 图 5 为本发明实施例 1 提供的一种密码框控件处理键值信息通知的方法 ; 0066 图 6 为本发明实施例 1 提供的一种切换屏幕方向事件处理函数的工作方法流程 图。 具体实施方式 0067 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明。
36、一部分实施例, 而不是全部的实施例。基于 说 明 书 CN 103745174 A 9 5/15 页 10 本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。 0068 实施例 1 0069 本发明实施例提供的技术方案应用于 Android 系统中, 涉及到键盘控件、 密码框 控件、 键盘触屏事件处理函数、 密码框触屏事件处理函数、 切换屏幕方向事件处理函数、 键 盘子函数以及 JNI(Java Native Interface, Java 本地调用) 中定义的加密函数和解密函 数。 0070 如图 1-1 所示, 上层应用进行。
37、如下操作包括, 0071 步骤 101、 上层应用初始化密码框控件, 初始化键盘控件, 清空第一存储区, 清空第 二存储区 ; 0072 步骤 102、 上层应用在密码框控件中注册触屏事件 ; 0073 本实施例中, 在密码框控件中注册触屏事件, 当密码框控件发生触屏事件时, 密码 框控件通过广播的方式向密码框触屏事件处理函数发送第一触屏事件通知。 0074 步骤 103、 上层应用在键盘控件中注册触屏事件和切换屏幕方向事件 ; 0075 本实施例中, 在键盘控件中注册触屏事件, 当键盘控件发生触屏事件时, 键盘控件 通过广播的方式向键盘触屏事件处理函数发送第一触屏事件通知 ; 0076 在键。
38、盘控件中注册切换屏幕方向事件, 当键盘控件发生切换屏幕方向事件时, 键 盘控件通过广播的方式向切换屏幕方向事件处理函数发送切换屏幕方向事件通知。 0077 步骤 104、 上层应用初始化按键计数值、 按键状态标识、 切换屏幕方向标识、 键盘控 件状态标识、 分屏标识, 初始化密钥、 算法 ; 0078 优选的, 按键计数值初始值为 0, 将按键状态标识置为小写标识, 将键盘控件状态 标识复位、 将切换屏幕方向标识复位, 将分屏标识复位, 将密钥初始值设为长度为 24 位的 随机数, 将算法设为 DES 算法。算法还可以为 3DES、 AES 等算法, 切换屏幕方向标识复位时 为竖屏状态。 00。
39、79 如图 1 所示, 密码框触屏事件处理函数的工作流程, 具体包括 : 0080 步骤 A1 : 密码框触屏事件处理函数等待接收第一触屏事件通知 ; 0081 步骤 A2 : 当密码框触屏事件处理函数接收到第一触屏事件通知时, 判断键盘控件 状态标识是否复位, 是则执行步骤 A3 ; 否则执行步骤 A4 ; 0082 步骤 A3 : 密码框触屏事件处理函数将键盘控件状态标识置位, 并将键盘控件状态 标识作为绘制键盘控件事件通知发送给键盘子函数, 返回步骤 A1 ; 0083 本实施例中, 当键盘子函数接收到绘制键盘控件事件通知时, 从绘制键盘控件事 件通知中获取键盘控件状态标识, 若键盘控件。
40、状态标识置位, 则键盘子函数根据切换屏幕 方向标识绘制键盘控件, 在按键背景图上绘制字符, 等待接收绘制键盘控件事件通知。 0084 步骤 A4 : 密码框触屏事件处理函数将键盘控件状态标识复位, 并将键盘控件状态 标识作为绘制键盘控件事件通知发送给键盘子函数, 返回步骤 A1。 0085 本实施例中, 当键盘子函数接收到绘制键盘控件事件通知时, 从绘制键盘控件事 件通知中获取键盘控件状态标识, 若键盘控件状态标识复位, 则键盘子函数隐藏键盘控件, 等待接收绘制键盘控件事件通知。 0086 如图 2 所示, 所述绘制键盘控件, 具体包括 : 说 明 书 CN 103745174 A 10 6/。
41、15 页 11 0087 步骤 Z1 : 键盘子函数根据切换屏幕方向标识判断屏幕方向, 如果是横屏则执行步 骤 Z2 ; 如果是竖屏则执行步骤 Z3 ; 0088 步骤 Z2 : 键盘子函数获取屏幕的高度, 将其作为按键面板的宽度, 根据按键面板 的宽度、 按键总数、 按键高度和按键宽度计算按键面板的高度, 执行步骤 Z4 ; 0089 本实施例中, 按键总数、 按键高度和按键宽度总称为按键属性信息 ; 按键总数初始 值为 30 个、 按键高度初始值为 32*32 像素、 按键宽度初始值为 32*32 像素。 0090 步骤 Z3 : 键盘子函数将分屏标识复位, 获取屏幕的宽度, 将其作为按键。
42、面板的宽 度, 根据按键面板的宽度、 按键总数、 按键高度和按键宽度计算按键面板的高度, 执行步骤 Z4 ; 0091 步骤 Z4 : 键盘子函数调用绘制背景图函数根据按键面板的高度和按键面板的宽 度绘制按键面板背景图, 在按键面板背景图上绘制按键背景图, 执行步骤 Z5 ; 0092 步骤 Z5 : 键盘子函数调用绘制字符函数在按键背景图上绘制字符, 显示键盘控 件。 0093 如图 3 所示, 所述绘制字符的方法, 具体包括 : 0094 步骤 q1 : 键盘子函数初始化字符容器 ; 0095 所述初始化字符容器具体为, 根据当前选择的按键的类型初始化字符容器, 如果 当前选择的按键为字母。
43、键时, 判断所述按键状态标识, 如果是小写标识, 则将所述字符容器 中存储小写字母 ; 如果是锁定大写标识, 则将所述字符容器中存储大写字母。 当第一次绘制 字符时, 默认选择的按键为小写字母。 0096 步骤 q2 : 键盘子函数创建一个按键信息对象 ; 0097 本实施例中, 每个字母对应一个按键信息对象, 各个字母对应的按键信息对象互 不相同。 0098 步骤 q3 : 键盘子函数从所属字符容器中随机获取一个待绘制的字符作为当前键 值, 计算当前键值对应的按键的坐标、 绘制区域 ; 0099 步骤 q4 : 键盘子函数调用绘制背景函数, 根据按键的坐标和绘制区域绘制当前键 值对应的按键背。
44、景图, 调用绘制字符函数绘制当前键值 ; 0100 步骤 q5 : 键盘子函数将当前键值、 按键的坐标、 按键的绘制区域保存为按键信息 对象, 将按键信息对象保存至按键信息对象容器中, 删除字符容器中的待绘制的字符 ; 0101 步骤 q6 : 键盘子函数判断字符容器中是否存在待绘制的字符, 是则返回步骤 q2 ; 否则结束。 0102 如图 4-1、 图 4-2 和图 4-3 所示, 键盘触屏事件处理函数的工作方法具体包括, 0103 步骤 201 : 键盘触屏事件处理函数等待接收第二触屏事件通知 ; 0104 步骤 202 : 当键盘触屏事件处理函数接收到第二触屏事件通知时, 根据第二触屏。
45、 事件通知获取键值, 判断键值类型, 如果是字符键, 则执行步骤 203 ; 如果是退出键, 则执行 步骤 205 ; 如果是切换系统输入法键, 则执行步骤 206 ; 如果是删除键, 则执行步骤 207 ; 如 果是分屏键, 则执行步骤 209 ; 如果是上档键, 则执行步骤 217 ; 0105 本实施例中, 判断键值类型的方法具体为, 键盘触屏事件处理函数根据第二触屏 事件通知获取触摸点坐标, 遍历按键信息对象容器中的按键信息对象, 从中获取与触摸点 坐标匹配的按键信息对象, 根据按键信息对象获取键值 ; 说 明 书 CN 103745174 A 11 7/15 页 12 0106 步骤。
46、 203 : 键盘触屏事件处理函数调用加密函数采用算法和密钥对键值进行加 密, 得到密文 ; 0107 本实施例中, 密钥可以为预设密钥, 还可以为, 按照预设方式更新预设密钥, 调用 加密函数采用算法和更新后的密钥对键值进行加密。 0108 例如, 键盘触屏事件处理函数根据第二触屏事件通知确定被触摸的按键为数字键 9, 键盘触屏事件处理函数调用 Safe_Encrpt(” 9” ,UKEY_KEYBOARD_KEYTMP) ; 对 9 进行加密 得到 9 的密文为 dwjfFLLIOYA。 0109 步骤 204 : 键盘触屏事件处理函数将加密结果和字符键信息作为键值信息通知发 送给密码框控。
47、件, 执行步骤 208 ; 0110 本步骤还可以为, 键盘触屏事件处理函数将加密结果和字符键信息作为键值信息 通知发送给密码框控件, 然后返回步骤 201 ; 0111 步骤 205 : 键盘触屏事件处理函数将退出键信息作为键值信息通知发送给密码框 控件, 结束操作 ; 0112 步骤 206 : 键盘触屏事件处理函数将切换系统输入法键信息作为键值信息通知发 送给密码框控件, 结束操作 ; 0113 步骤 207 : 键盘触屏事件处理函数将删除键信息作为键值信息通知发送给密码框 控件, 执行步骤 208 ; 0114 本步骤还可以为, 键盘触屏事件处理函数将删除键信息作为键值信息通知发送给 。
48、密码框控件, 然后返回步骤 201 ; 0115 步骤 208 : 键盘触屏事件处理函数根据当前选择的按键的类型调用绘制字符函数 在按键背景图上绘制字符, 显示键盘控件, 返回步骤 201。 0116 步骤 209 : 键盘触屏事件处理函数判断切换屏幕方向标识, 如果是横屏则执行步 骤 210 ; 如果是竖屏则返回步骤 201 ; 0117 步骤 210 : 键盘触屏事件处理函数判断分屏标识是否置位, 是则执行步骤 211 ; 否 则执行步骤 214 ; 0118 步骤 211 : 键盘触屏事件处理函数获取屏幕的高度, 将屏幕的高度作为按键面板 的宽度, 根据当前选择的按键的类型获取按键总数、。
49、 按键宽度、 按键高度, 执行步骤 212 ; 0119 优选的, 按键高度和按键宽度相等。 0120 步骤 212 : 键盘触屏事件处理函数根据按键面板的宽度、 按键总数、 按键高度、 按 键宽度计算按键面板的高度, 调用绘制背景函数, 根据按键面板的宽度和按键面板的高度 绘制按键面板背景图, 根据按键高度和按键宽度在按键面板背景图上绘制按键背景图 ; 0121 本实施例中, 根据按键面板的宽度和按键宽度计算每行排列的按键的个数, 根据 按键总数和每行排列的按键的个数计算按键排列的行数, 根据行数和按键高度计算按键面 板的高度。 0122 优选的, 将按键面板的宽度与按键宽度做除法运算, 得到的结果作为每行排列的 按键的个数, 将按键总数与每行排列的按键的个数做除法运算, 得到的结果作为按键排列 的行。