TWI648658B - Method and computer program product of displaying a dynamic virtual numeric keypad - Google Patents

Method and computer program product of displaying a dynamic virtual numeric keypad Download PDF

Info

Publication number
TWI648658B
TWI648658B TW107107932A TW107107932A TWI648658B TW I648658 B TWI648658 B TW I648658B TW 107107932 A TW107107932 A TW 107107932A TW 107107932 A TW107107932 A TW 107107932A TW I648658 B TWI648658 B TW I648658B
Authority
TW
Taiwan
Prior art keywords
keypad
virtual
key
button
processor
Prior art date
Application number
TW107107932A
Other languages
Chinese (zh)
Other versions
TW201945897A (en
Inventor
邱宏哲
Original Assignee
三竹資訊股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 三竹資訊股份有限公司 filed Critical 三竹資訊股份有限公司
Priority to TW107107932A priority Critical patent/TWI648658B/en
Application granted granted Critical
Publication of TWI648658B publication Critical patent/TWI648658B/en
Publication of TW201945897A publication Critical patent/TW201945897A/en

Links

Abstract

一種顯示動態虛擬數字鍵盤之方法及其電腦程式產品,應用於一裝置,該裝置包含一處理器、一記憶體及一螢幕,該方法包含:使該處理器取得該螢幕之一解析度;使該處理器產生一虛擬數字鍵盤的一第一鍵區與一第二鍵區,該第一鍵區具有至少3乘3的空間以容置至少九個第一鍵區虛擬按鍵,該第二鍵區具有至少一個空間以容置一第二鍵區虛擬按鍵並設置於該第一鍵區的下方;使該處理器以隨機方式自該記憶體中選取一第一排列組合或一第二排列組合做為一第一鍵群,該第一排列組合由左至右、由上至下順序為“1、2、3、4、5、6、7、8與9”,而該第二排列組合由左至右、由上至下順序為“7、8、9、4、5、6、1、2與3”;將該第一鍵群由左至右、由上至下依序設置於該第一鍵區的該些第一鍵區虛擬按鍵;使該處理器讀取該記憶體中一第二鍵群並設置於該第二鍵區的該第二鍵區虛擬按鍵,該第二鍵群包含至少一“0”鍵;使該處理器以隨機方式選取該第一鍵群之一至複數個該第一鍵區虛擬按鍵以調整一按鍵寬度,使得該第一鍵群具有複數種該按鍵寬度;使該處理器以隨機方式決定是否選取該第二鍵群之該第二鍵區虛擬按鍵以調整該按鍵寬度;使該處理器讀取該記憶體中一功能鍵並設置於 該虛擬數字鍵盤;於該螢幕顯示該虛擬數字鍵盤;接收一點擊座標並轉換為對應的一字元;將該字元顯示於一呈現框並儲存至該記憶體;讀取該記憶體中依序儲存的複數個該字元以組成一字元串;以及,將該字元串傳送至一應用程式之一數字輸入框。 A method for displaying a dynamic virtual numeric keypad and a computer program product thereof, applied to a device, the device comprising a processor, a memory and a screen, the method comprising: causing the processor to obtain a resolution of the screen; The processor generates a first keypad and a second keypad of a virtual numeric keypad, the first keypad having a space of at least 3 by 3 to accommodate at least nine first keypad virtual keys, the second key The area has at least one space for accommodating a second keypad virtual button and disposed under the first keypad; causing the processor to select a first permutation combination or a second permutation combination from the memory in a random manner As a first key group, the first permutation combination is from left to right, and from top to bottom, "1, 2, 3, 4, 5, 6, 7, 8, and 9", and the second permutation combination From left to right, from top to bottom, the order is "7, 8, 9, 4, 5, 6, 1, 2, and 3"; the first key group is sequentially set from left to right and top to bottom. The first keypad virtual button of the first keypad; causing the processor to read a second key group in the memory and set The second keypad virtual button of the second keypad, the second key group includes at least one "0" key; causing the processor to select one of the first key group to a plurality of the first keypad virtual keys in a random manner Adjusting a button width such that the first key group has a plurality of the button widths; causing the processor to randomly determine whether to select the second keypad virtual button of the second key group to adjust the button width; The processor reads a function key in the memory and sets it on The virtual numeric keypad; displaying the virtual numeric keypad on the screen; receiving a click coordinate and converting to a corresponding character; displaying the character in a presentation frame and storing the same in the memory; reading the memory in the memory The plurality of characters are sequentially stored to form a character string; and the character string is transmitted to a digital input box of an application.

Description

顯示動態虛擬數字鍵盤之方法及其電腦程式產品 Method for displaying dynamic virtual numeric keypad and computer program product thereof

本發明是關於一種螢幕顯示動態虛擬鍵盤的技術,特別是關於一種用於輸入數字的顯示動態虛擬數字鍵盤之方法及其電腦程式產品。 The present invention relates to a technique for displaying a dynamic virtual keyboard on a screen, and more particularly to a method for displaying a dynamic virtual numeric keypad for inputting numbers and a computer program product thereof.

相較一般的電子商務系統(或稱電商平台)來講,網路銀行係對資安要求最高的網路交易系統,因為網路銀行只需使用者以瀏覽器開啟網頁輸入帳號/密碼就可登入進行電子轉帳交易,風險極高。南韓與大陸分別自2006年與2010年起,要求網路銀行必須善盡保護使用者輸入密碼之安全,故,在客戶端的電腦中須安裝防鍵盤側錄系統,台灣則於2013年在新版網路銀行的安控基準中加入“金融機構應能防止密碼被側錄”的安全措施。可見,帳號/密碼之輸入安全為資安的重要課題,在這個駭客與木馬程式無所不在的時代,防止鍵盤側錄、網路側錄、木馬程式等技術是相當重要的一個資安環節。 Compared with the general e-commerce system (or e-commerce platform), online banking is the most demanding online trading system, because online banking only needs users to open a web page to enter an account/password. You can log in to make an EFT transaction, which is extremely risky. Since 2006 and 2010, South Korea and the mainland have required online banking to protect the security of users' passwords. Therefore, an anti-keyboard recording system must be installed on the client's computer. Taiwan is in the new network in 2013. The bank’s security control benchmark incorporates “security measures that financial institutions should be able to prevent passwords from being recorded”. It can be seen that the input security of the account/password is an important issue for the security. In this era of hackers and Trojans, the prevention of keyboard side recording, network side recording, Trojan horse programming and other technologies is a very important security link.

因此,許多防止鍵盤側錄的螢幕虛擬鍵盤的先前技術應運而生,先前技術的手法不外乎隨機變換虛擬按鍵的位置,使得惡意程式無法側錄到正確的字元,然而,先前技術因無固定的順序規則、隨機設置虛擬按 鍵的位置,致使用者必須花費時間尋找按鍵,在使用上相當不便,意即,先前技術無法滿足使用者習慣性操作的需求。故,實有必要改善先前技術硬體與軟體協同運作的資源以提出一種符合使用者習慣性操作的動態虛擬數字鍵盤之技術,使得數字鍵盤佈局有一定的順序可讓使用者依循,並可隨機調整虛擬按鍵所對應的點擊區域,使得每一個虛擬按鍵的點擊區域在每次虛擬鍵盤執行時都有可能改變,讓惡意程式即使側錄到點擊座標也無法逆向推算出正確的數字,以便彌補先前技術不足之處。 Therefore, many prior art techniques for preventing the virtual keyboard of the keyboard from being recorded are born. The prior art method is nothing more than randomly changing the position of the virtual button, so that the malicious program cannot side-record the correct character. However, the prior art has no Fixed order rules, random settings, virtual buttons The position of the key causes the user to spend time looking for a button, which is quite inconvenient to use, meaning that the prior art cannot satisfy the user's habitual operation. Therefore, it is necessary to improve the resources of the prior art hardware and software to work together to propose a dynamic virtual numeric keypad technology that conforms to the habitual operation of the user, so that the numerical keyboard layout has a certain order for the user to follow and can be randomized. Adjusting the click area corresponding to the virtual button, so that the click area of each virtual button may change every time the virtual keyboard is executed, so that the malicious program can not reversely calculate the correct number even if the side click to the click coordinate, so as to make up for the previous Technical deficiencies.

有鑑於此,本發明提出一種顯示動態虛擬數字鍵盤之方法及其電腦程式產品,隨機選取“計算機按鍵樣式”或“電話按鍵樣式”的數字順序設置虛擬按鍵,再以隨機方式調整虛擬按鍵的寬度以及功能鍵的位置,使每次虛擬鍵盤執行時虛擬按鍵所對應的點擊區域皆有變化。 In view of this, the present invention provides a method for displaying a dynamic virtual numeric keypad and a computer program product thereof, randomly selecting a virtual key of a "computer button style" or a "phone button style", and then adjusting the width of the virtual button in a random manner. And the position of the function key, so that the click area corresponding to the virtual button changes every time the virtual keyboard is executed.

本發明提出一種顯示動態虛擬數字鍵盤之方法,應用於一裝置,該裝置包含一處理器、一記憶體及一螢幕,該方法包含:使該處理器取得該螢幕之一解析度;使該處理器產生一虛擬數字鍵盤的一第一鍵區與一第二鍵區,該第一鍵區具有至少3乘3的空間以容置至少九個虛擬按鍵,該第二鍵區具有至少一個空間以容置一第二鍵區虛擬按鍵並設置於該第一鍵區的下方;使該處理器以隨機方式自該記憶體中選取一第一排列組合或一第二排列組合做為一第一鍵群,該第一排列組合由左至右、由上至下順序為“1、2、3、4、5、6、7、8與9”,而該第二排列組合由左至右、由上至下順序為“7、8、9、4、5、6、1、2與3”;將該第一鍵群由左至右、由上至下依 序設置於該第一鍵區的該些第一鍵區虛擬按鍵;使該處理器讀取該記憶體中一第二鍵群並設置於該第二鍵區的該第二鍵區虛擬按鍵,該第二鍵群包含至少一“0”鍵使該處理器以隨機方式選取該第一鍵群之一至複數個該第一鍵區虛擬按鍵以調整一按鍵寬度,使得該第一鍵群具有複數種該按鍵寬度;使該處理器以隨機方式決定是否選取該第二鍵群之該第二鍵區虛擬按鍵以調整該按鍵寬度;使該處理器讀取該記憶體中一功能鍵並設置於該虛擬數字鍵盤;於該螢幕顯示該虛擬數字鍵盤;接收一點擊座標並轉換為對應的一字元;將該字元儲存至該記憶體;讀取該記憶體中依序儲存的複數個該字元以組成一字元串;以及,將該字元串傳送至一應用程式之一數字輸入框。 The present invention provides a method for displaying a dynamic virtual numeric keypad, which is applied to a device, the device comprising a processor, a memory and a screen, the method comprising: causing the processor to obtain a resolution of the screen; The device generates a first keypad and a second keypad of the virtual numeric keypad, the first keypad having a space of at least 3 by 3 to accommodate at least nine virtual buttons, the second keypad having at least one space Locating a second keypad virtual button and disposed below the first keypad; causing the processor to select a first permutation combination or a second permutation combination from the memory in a random manner as a first key Group, the first permutation combination is from left to right, from top to bottom in the order of "1, 2, 3, 4, 5, 6, 7, 8, and 9", and the second permutation combination is from left to right, by The order from top to bottom is “7, 8, 9, 4, 5, 6, 1, 2, and 3”; the first key group is left to right and top to bottom. The first keypad virtual keys are disposed in the first keypad; the processor is configured to read a second keypad of the memory and set the second keypad virtual button of the second keypad The second key group includes at least one "0" key, so that the processor randomly selects one of the first key group to a plurality of the first keypad virtual keys to adjust a button width, so that the first key group has a plurality of The button width is determined by the processor to randomly determine whether to select the second keypad virtual button of the second key group to adjust the button width; and the processor reads a function key in the memory and sets The virtual numeric keypad; displaying the virtual numeric keypad on the screen; receiving a click coordinate and converting to a corresponding character; storing the character in the memory; and reading a plurality of the sequentially stored in the memory Characters are grouped into a string of characters; and the string is transmitted to a digital input box of an application.

本發明更進一步,在一些實施例中,該虛擬數字鍵盤包含:一呈現框,用以暫時呈現“被點選按鍵所對應的字元”;以及,一確認鍵,用以將字元串傳送至該應用程式之該數字輸入框。 Further, in some embodiments, the virtual numeric keypad includes: a presentation frame for temporarily presenting "characters corresponding to the selected button"; and a confirmation button for transmitting the character string To the digital input box of the application.

本發明更進一步,在一些實施例中包含:當該功能鍵有複數個時,隨機對調該些功能鍵之位置。 The present invention further includes, in some embodiments, randomly locating the function keys when there are a plurality of function keys.

本發明更進一步,在一些實施例中包含:取得該螢幕之一解析度;該處理器係依據該螢幕之該解析度調整該按鍵寬度。 Further, in some embodiments, the method includes: obtaining a resolution of the screen; and the processor adjusts the button width according to the resolution of the screen.

本發明更進一步,在一些實施例中包含:該虛擬數字鍵盤包含複數個功能鍵/特殊符號鍵與任意該等鍵群組合;及,該些功能鍵/特殊符號鍵可設定為:“維持一固定按鍵寬度”或“該按鍵寬度受隨機選取而調整”。 Further, in some embodiments, the virtual numeric keypad includes a plurality of function keys/special symbol keys and any combination of the key groups; and the function keys/special symbol keys can be set to: “maintain one Fixed button width" or "The button width is adjusted by random selection".

本發明更進一步,在一些實施例中包含:將該字元串依據一檢核函數產生一檢查碼;以及,當該字元串傳送至該應用程式之該數字輸入框的同時,將該檢查碼傳送至該應用程式。 Further, in some embodiments, the method includes: generating a check code according to a check function according to a check function; and, when the character string is transmitted to the digital input box of the application, the check The code is transferred to the application.

本發明復提出一種電腦程式產品,安裝於具有一螢幕及一記憶體之一裝置,該電腦程式產品包含:一第一程式指令組、一第二程式指令組、一第三程式指令組、一第四程式指令組以及一第五程式指令組,該等程式指令組儲存於該記憶體。該第一程式指令組,取得該螢幕之一解析度並暫存於該記憶體,產生具有一第一鍵區與一第二鍵區之一虛擬數字鍵盤,依據該解析度調整該虛擬數字鍵盤之一寬度,該第一鍵區具有至少3乘3的空間以容置至少九個第一鍵區虛擬按鍵,該第二鍵區具有至少一個空間以容置一第二鍵區虛擬按鍵並設置於該第一鍵區的下方;該第二程式指令組,以隨機方式選取一第一排列組合或一第二排列組合做為一虛擬數字鍵盤的一第一鍵群,該第一排列組合由左至右、由上至下順序為“1、2、3、4、5、6、7、8與9”,而該第二排列組合由左至右、由上至下順序為“7、8、9、4、5、6、1、2與3”,將該第一鍵群設置於該第一鍵區,讀取該記憶體中一第二鍵群並設置於該第二鍵區,該第二鍵群至少包含一“0”鍵,及,讀取該記憶體中一功能鍵並設置於該虛擬數字鍵盤;該第三程式指令組,以隨機方式選取該第一鍵群與一第二鍵群之一至複數個該第一鍵區虛擬按鍵、該第二鍵區虛擬按鍵以調整一按鍵寬度,使得該第一鍵群與該第二鍵群具有複數種該按鍵寬度;該第四程式指令組,於該螢幕顯示該虛擬數字鍵盤;以及,該第五程式指令組,接收一點擊座標並轉換為對應的一字元,將該字元 儲存至該記憶體,讀取該記憶體中依序儲存的複數個該字元以組成一字元串,及,將該字元串傳送至一應用程式之一數字輸入框。 The present invention provides a computer program product installed in a device having a screen and a memory, the computer program product comprising: a first program instruction set, a second program instruction set, a third program instruction set, and a The fourth program instruction set and a fifth program instruction set are stored in the memory. The first program instruction group obtains a resolution of the screen and temporarily stores the memory in the memory, and generates a virtual numeric keypad having a first keypad and a second keypad, and the virtual numeric keypad is adjusted according to the resolution. One width, the first keypad has a space of at least 3 by 3 to accommodate at least nine first keypad virtual keys, the second keypad has at least one space to accommodate a second keypad virtual button and set Below the first keypad; the second program instruction group randomly selects a first permutation combination or a second permutation combination as a first key group of a virtual numeric keypad, and the first permutation combination is From left to right, from top to bottom, the order is "1, 2, 3, 4, 5, 6, 7, 8, and 9", and the second permutation combination is from left to right, and from top to bottom, "7. 8, 9, 4, 5, 6, 1, 2, and 3", the first key group is disposed in the first keypad, and a second key group in the memory is read and disposed in the second keypad The second key group includes at least one "0" key, and reads a function key in the memory and is disposed on the virtual numeric keypad; the third a command group, randomly selecting one of the first key group and a second key group to a plurality of the first keypad virtual button and the second keypad virtual button to adjust a button width, so that the first key group And the second key group has a plurality of the button widths; the fourth program instruction group displays the virtual numeric keypad on the screen; and the fifth program instruction group receives a click coordinate and converts into a corresponding character , the character The memory is stored in the memory, and the plurality of characters sequentially stored in the memory are read to form a character string, and the character string is transmitted to a digital input box of an application.

本發明更進一步,在一些實施例中包含:一第六程式指令組,將該字元串依據一檢核函數產生一檢查碼;而,當該第五程式指令組將該字元串傳送至該應用程式之該數字輸入框的同時,將該檢查碼傳送至該應用程式。 The present invention further includes, in some embodiments, a sixth program instruction set that generates a check code according to a check function; and, when the fifth program instruction set transmits the character string to The check code is transmitted to the application while the digital input box of the application is being used.

本發明更進一步,在一些實施例中,該虛擬數字鍵盤包含:一呈現框,用以暫時呈現“被點選按鍵所對應的字元”;以及,一確認鍵,用以執行該第六程式指令組,以及,當該第五程式指令組將該字元串傳送至該應用程式之該數字輸入框的同時,將該檢查碼傳送至該應用程式。 Further, in some embodiments, the virtual numeric keypad includes: a presentation box for temporarily presenting "characters corresponding to the selected button"; and a confirmation button for executing the sixth program The instruction set, and when the fifth program instruction set transmits the character string to the digital input box of the application, the check code is transmitted to the application.

本發明更進一步,在一些實施例中,該第三程式指令組包含:當該功能鍵有複數個時,隨機對調該些功能鍵之位置。 Further, in some embodiments, the third set of program instructions includes: randomly resetting the positions of the function keys when the function key has a plurality of function keys.

本發明更進一步,在一些實施例中包含:該虛擬數字鍵盤包含複數個功能鍵/特殊符號鍵與任意該等鍵群組合;及,該些功能鍵/特殊符號鍵可設定為:“維持一固定按鍵寬度”或“該按鍵寬度受隨機選取而調整”。 Further, in some embodiments, the virtual numeric keypad includes a plurality of function keys/special symbol keys and any combination of the key groups; and the function keys/special symbol keys can be set to: “maintain one Fixed button width" or "The button width is adjusted by random selection".

以下在實施方式中詳細敘述本發明之詳細特徵以及優點,其內容足以使任何熟習相關技藝者瞭解本發明之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本發明相關之目的及優點。 The detailed features and advantages of the present invention are set forth in the Detailed Description of the Detailed Description of the <RTIgt; </ RTI> <RTIgt; </ RTI> </ RTI> </ RTI> <RTIgt; The objects and advantages associated with the present invention can be readily understood by those skilled in the art.

10‧‧‧裝置 10‧‧‧ device

12‧‧‧處理器 12‧‧‧ Processor

14‧‧‧記憶體 14‧‧‧ memory

16‧‧‧螢幕 16‧‧‧ screen

18‧‧‧通訊模組 18‧‧‧Communication module

20‧‧‧虛擬數字鍵盤 20‧‧‧Virtual Numeric Keyboard

22‧‧‧應用程式 22‧‧‧Application

24‧‧‧輸入設備模組 24‧‧‧Input device module

26‧‧‧第一鍵區 26‧‧‧First keypad

28‧‧‧第一鍵群 28‧‧‧First key group

30‧‧‧第二鍵區 30‧‧‧second keypad

32‧‧‧第二鍵群 32‧‧‧Second key group

34‧‧‧第三鍵區 34‧‧‧ third keypad

36‧‧‧第三鍵群 36‧‧‧ third bond group

38‧‧‧文字輸入框 38‧‧‧Text input box

40‧‧‧數字輸入框 40‧‧‧Digital input box

42‧‧‧呈現框 42‧‧‧presenting box

第1圖為可執行本發明方法之裝置其系統功能方塊圖(一);第2圖為可執行本發明方法之裝置其系統功能方塊圖(二);第3A圖為本發明實施例一虛擬數字鍵盤之示意圖(一);第3B圖為本發明實施例一虛擬數字鍵盤之示意圖(二);第4A圖為本發明實施例二虛擬數字鍵盤之示意圖(一);第4B圖為本發明實施例二虛擬數字鍵盤之示意圖(二);第5A圖為本發明實施例三虛擬數字鍵盤之示意圖(一);第5B圖為本發明實施例三虛擬數字鍵盤之示意圖(二);第6A圖為本發明實施例四虛擬數字鍵盤之示意圖(一);第6B圖為本發明實施例四虛擬數字鍵盤之示意圖(二);第7A圖為本發明實施例五虛擬數字鍵盤之示意圖(一);第7B圖為本發明實施例五虛擬數字鍵盤之示意圖(二);第8圖為本發明實施例二之操作流程圖;第9圖為先前技術應用程式使用之螢幕畫面示意圖;第10圖為本發明實施例一之螢幕畫面示意圖。 1 is a block diagram of a system function of an apparatus for performing the method of the present invention; FIG. 2 is a block diagram of a system function of the apparatus for performing the method of the present invention; FIG. 3A is a virtual diagram of an embodiment of the present invention; FIG. 3B is a schematic diagram (2) of a virtual numeric keypad according to an embodiment of the present invention; FIG. 4A is a schematic diagram (1) of a virtual numeric keypad according to Embodiment 2 of the present invention; Embodiment 2 is a schematic diagram of a virtual numeric keypad (2); FIG. 5A is a schematic diagram (1) of a virtual numeric keypad according to an embodiment of the present invention; FIG. 5B is a schematic diagram (2) of a virtual numeric keypad according to an embodiment of the present invention; FIG. 6B is a schematic diagram of a virtual numeric keypad according to Embodiment 4 of the present invention; FIG. 6B is a schematic diagram of a virtual numeric keypad according to Embodiment 4 of the present invention; FIG. 7A is a schematic diagram of a virtual numeric keypad according to Embodiment 5 of the present invention. 7B is a schematic diagram of a virtual digital keyboard according to a fifth embodiment of the present invention; FIG. 8 is a flowchart of operation of the second embodiment of the present invention; FIG. 9 is a schematic diagram of a screen used by the prior art application; The figure is an embodiment of the invention The screenshot FIG.

本發明係使用但不限於智慧電視(Smart TV)、個人電腦(PC)、筆記型電腦(Laptop/Notebook/Portable Computer)、智慧手機(Smartphone)、平板電腦(Tablet PC)…等裝置10,凡是配置有螢幕、可執行本發明之步驟並有意保護所輸入之數字類型之資料(例如:密碼、銀行帳號、信用卡號、轉帳金 額…等),皆可以應用本發明之方法。 The present invention uses, but is not limited to, a smart TV, a personal computer (PC), a laptop (Laptop/Notebook/Portable Computer), a smart phone, a tablet PC, etc., 10 Configured with a screen, steps to perform the present invention, and intentionally protecting the type of data entered (eg, password, bank account number, credit card number, transfer money) The method of the present invention can be applied to the amount of ....

參閱第1圖,可執行本發明動態虛擬數字鍵盤之裝置10其系統功能方塊圖(一),圖例僅列出螢幕觸控式裝置10執行本發明一較佳實施例時之相關核心模組,其餘模組省略未描繪。在本發明的一實施例中,虛擬數字鍵盤20應用於具觸控式螢幕之裝置10,例如:智慧手機或平板電腦,此類裝置10包含:一或多個處理器12、記憶體14、螢幕16以及通訊模組18。其中,記憶體14載入或儲存有應用程式22以及本發明之虛擬數字鍵盤20,應用程式22係有輸入資安保護需求的第三方應用程式或是與虛擬數字鍵盤20整合為一體的金融應用程式或電商交易應用程式。在一些實施例中,應用程式22為網頁瀏覽器(Web Browser)用以執行並顯示網路銀行、網路券商或電商平台之網頁服務,應用程式22接收本發明虛擬數字鍵盤20所輸入之數字類型之資料以傳送至上述該等網頁服務中(例如:輸入的數字類型密碼用於登入、輸入的銀行帳號/信用卡號/金額用於交易)。在一些實施例中,應用程式22與虛擬數字鍵盤20係整合為一體的網路銀行程式、網路券商程式或電商交易程式,而虛擬數字鍵盤20屬於該等應用程式22其中的一支子程序(Sub-Function)或子模組(Sub-Module),當應用程式22有輸入資安保護需求時(例如:輸入登入密碼、輸入帳號、輸入金額)即執行子程序/子模組虛擬數字鍵盤20,而於需求結束時停止子程序/子模組虛擬數字鍵盤20之執行。處理器12執行虛擬數字鍵盤20所包含的複數個程式指令組,並以硬體與軟體協同運作的方式實施其步驟。螢幕16用以顯示虛擬數字鍵盤20的圖形化使用者介面(GUI),以及接受螢幕觸控指令以操作虛擬數字鍵盤20之虛擬按鍵。通訊模組18用以建 立Internet網路連線,如:有線寬頻、WLAN(Wi-Fi等)、行動通訊網路(如3G、4G…)等等。 Referring to FIG. 1 , a system function block diagram (1) of a device 10 for implementing a dynamic virtual numeric keypad of the present invention, the legend only lists the relevant core modules when the touch screen device 10 performs a preferred embodiment of the present invention. The remaining modules are omitted and not depicted. In an embodiment of the present invention, the virtual numeric keypad 20 is applied to a device 10 with a touch screen, such as a smart phone or a tablet. The device 10 includes: one or more processors 12, memory 14, Screen 16 and communication module 18. The memory 14 loads or stores the application 22 and the virtual numeric keypad 20 of the present invention. The application 22 is a third-party application that inputs security requirements or a financial application integrated with the virtual numeric keypad 20. Program or e-commerce trading application. In some embodiments, the application 22 is a web browser for executing and displaying a web service of an online banking, network broker or e-commerce platform, and the application 22 receives the input from the virtual numeric keypad 20 of the present invention. The digital type of information is transmitted to the above web services (for example: the entered numeric type password is used for login, the entered bank account number / credit card number / amount for the transaction). In some embodiments, the application 22 and the virtual numeric keypad 20 are integrated into an integrated online banking program, a network broker program, or an e-commerce transaction program, and the virtual numeric keypad 20 belongs to one of the applications 22 . Sub-Function or Sub-Module, when the application 22 has input security requirements (for example, enter the login password, enter the account number, input the amount), execute the subroutine/submodule virtual number. The keyboard 20 stops the execution of the subroutine/submodule virtual numeric keypad 20 at the end of the demand. The processor 12 executes a plurality of program instruction sets included in the virtual numeric keypad 20 and performs the steps in a manner in which the hardware and the software cooperate. The screen 16 is used to display a graphical user interface (GUI) of the virtual numeric keypad 20 and a virtual button that accepts a screen touch command to operate the virtual numeric keypad 20. Communication module 18 is used to build Internet Internet connection, such as: cable broadband, WLAN (Wi-Fi, etc.), mobile communication networks (such as 3G, 4G...) and so on.

繼續參閱第2圖,可執行本發明動態虛擬數字鍵盤之裝置10其系統功能方塊圖(二),圖例僅列出非螢幕觸控式裝置10執行本發明一較佳實施例時之相關核心模組,其餘模組省略未描繪。在本發明的一實施例中,虛擬數字鍵盤20應用於非觸控式螢幕之裝置10,例如:個人電腦、筆記型電腦、智慧型電視…等,與第1圖不同的地方是此類裝置10另包含輸入設備模組(Input Device Module),例如:滑鼠(Mouse)、觸控板(Touch Pad)、搖控器(Remote Control)…等,用以點選虛擬數字鍵盤20之虛擬按鍵以輸入帳號、密碼、金額至應用程式22。此類裝置10之其餘模組功能係與第1圖相同,唯,其螢幕16不具觸控功能,故不另贅述。 Continuing to refer to FIG. 2, a system function block diagram (2) of a device 10 for implementing a dynamic virtual numeric keypad of the present invention is shown. The legend only lists the relevant core modes when the non-screen touch device 10 performs a preferred embodiment of the present invention. Group, the remaining modules are omitted and not depicted. In an embodiment of the invention, the virtual numeric keypad 20 is applied to the device 10 of the non-touch screen, such as a personal computer, a notebook computer, a smart TV, etc., and the difference from the first figure is such a device. 10 further includes an input device module, such as a mouse, a touch pad, a remote control, etc., for clicking a virtual button of the virtual numeric keypad 20 Enter the account number, password, and amount into the application 22. The remaining module functions of the device 10 are the same as those of the first figure. However, the screen 16 has no touch function, so no further details are provided.

參閱第3A圖,本發明實施例一虛擬數字鍵盤20之示意圖(一),其說明了本發明一實施例虛擬數字鍵盤20之鍵盤佈局由上至下包含了:第一鍵區26(圖例中的虛線方框)及第二鍵區30(圖例中的虛線方框)。為方便說明本發明實施例之鍵盤佈局,圖例中特別繪出虛線方框,在實際的螢幕16畫面中並不會顯示虛線方框,另外,圖例為了繪出虛線方框特別加寬了第一鍵區26與第二鍵區30中間的間隔,在實際的螢幕16畫面中各橫排應有一致的上下間隔。 Referring to FIG. 3A, FIG. 3 is a schematic diagram (1) of a virtual numeric keypad 20 according to an embodiment of the present invention. The keyboard layout of the virtual numeric keypad 20 according to an embodiment of the present invention includes: a first keypad 26 (in the figure) The dashed box) and the second keypad 30 (the dotted box in the legend). In order to facilitate the description of the keyboard layout of the embodiment of the present invention, a dotted box is specially drawn in the figure, and the dotted frame is not displayed in the actual screen 16 screen. In addition, the legend is particularly widened in order to draw the dotted square box. The interval between the keypad 26 and the second keypad 30 should have a uniform upper and lower spacing in each of the actual screens of the screen 16.

本實施例的第一鍵區26具有至少3乘3的空間共可容置至少九個數字的虛擬按鍵。在第一鍵區26中的九個虛擬按鍵稱為第一鍵群28,而本發明的第一鍵群28包含兩種排列組合。第一排列組合係以電話按鍵樣式 (ITU-T E.161國際標準規範)排列九個數字,其由左至右、由上至下順序為“1、2、3、4、5、6、7、8與9”,即,第一排為“1、2、3”,第二排為“4、5、6”,第三排為“7、8、9”,如第3A圖所示。而第二排列組合係以計算機按鍵樣式排列九個數字,其由左至右、由上至下順序為“7、8、9、4、5、6、1、2與3”,即,第一排為“7、8、9”,第二排為“4、5、6”,第三排為“1、2、3”,如第3B圖所示。本發明之虛擬數字鍵盤20每次執行時由處理器12以隨機方式任意選取電話按鍵樣式的第一排列組合或計算機按鍵樣式的第二排列組合做為虛擬數字鍵盤20佈局之第一鍵群。由於電話按鍵樣式與計算機按鍵樣式的排列順序對使用者來說都不陌生,兩者皆係日常生活中時常看到的數字排列順序,因此讓使用者有一定的按鍵位置設置規則可依循,可快速點選到所欲輸入數字的虛擬按鍵。 The first keypad 26 of the present embodiment has a space of at least 3 by 3 for accommodating at least nine digits of virtual keys. The nine virtual keys in the first keypad 26 are referred to as the first key group 28, while the first key group 28 of the present invention comprises two permutations. The first permutation combination is in the form of a telephone button (ITU-T E.161 International Standard Specification) arranging nine numbers, from left to right, top to bottom in the order of "1, 2, 3, 4, 5, 6, 7, 8, and 9", ie, The first row is "1, 2, 3", the second row is "4, 5, 6", and the third row is "7, 8, 9", as shown in Figure 3A. The second permutation combination is arranged in a computer button style with nine numbers, which are from left to right and from top to bottom in the order of "7, 8, 9, 4, 5, 6, 1, 2 and 3", ie, One row is "7, 8, 9", the second row is "4, 5, 6", and the third row is "1, 2, 3", as shown in Figure 3B. Each time the virtual numeric keypad 20 of the present invention is executed, the processor 12 selectively arbitrarily selects the first permutation combination of the telephone button patterns or the second permutation combination of the computer button patterns as the first key group of the virtual numeric keypad 20 layout. Since the order of the phone button style and the arrangement of the computer button styles are not unfamiliar to the user, both are the order of the numbers that are often seen in daily life, so that the user has certain key position setting rules to follow. Quickly click on the virtual button to enter the number.

本發明之第二鍵區30至少包含一個按鍵的空間可容置第二鍵群32的一個數字虛擬按鍵,即“0”。 The second keypad 30 of the present invention includes at least one button space for accommodating a digital virtual button of the second key group 32, that is, "0".

本發明之虛擬數字鍵盤20於每次執行時,由處理器12以隨機方式在第一鍵區26中第一鍵群28的各排各挑選一至複數個按鍵,並將該些“被隨機選取的按鍵”加以放大其按鍵寬度。另一種隨機挑選的方式為第一鍵區26中第一鍵群28的9個按鍵隨機挑選一至複數個按鍵,並將該些“被隨機選取的按鍵”加以放大其按鍵寬度。至於第二鍵區30中的第二鍵群32若只有一個數字鍵(“0”)時,由處理器12隨機決定是否放大“0”的按鍵寬度。實施例一(如第3A圖與第3B圖所示)係於第一鍵區26中第一鍵群28的各排隨機選取一個按鍵,以及第二鍵區30中的第二鍵群32隨機決定是否選取 “0”(當只有此一個按鍵時)。以第3A圖為例來說明,其中第一鍵群28中各排“被隨機選取的按鍵”為“1個”(即,第一排的“3”、第二排的“4”與第三排的“9”),而第二鍵群30的“被隨機選取的按鍵”亦為“1個”(即,“0”)。在此實施例中,所有鍵群(或者說,所有鍵區)的“被隨機選取的按鍵”其按鍵寬度相同,即,“3”、“4”、“9”與“0”的按鍵寬度皆相同。在一些實施例中,在同一鍵群(或者說,同一鍵區)中,被隨機選取的按鍵具有相同的按鍵寬度,而不同的鍵群可有不同的按鍵寬度,例如:第一鍵群28的“3”、“4”與“9”的按鍵寬度相同,而第二鍵群32的“0”與上述三者的按鍵寬度不同,如第4A圖所示。本發明另設置一個“按鍵調整數量預設值”(以下稱為“調整數量”)以控制“被隨機選取的按鍵數量”,於此實施例,各鍵群的各排調整數量被設置為:“調整數量等於1”(“調整數量=1”)。 Each time the virtual numeric keypad 20 of the present invention is executed, the processor 12 randomly selects one to a plurality of buttons in each row of the first key group 28 in the first keypad 26 in a random manner, and the "selected" are randomly selected. The button "enlarges the width of the button. Another method of random selection is to randomly select one to a plurality of keys from the nine keys of the first key group 28 in the first keypad 26, and to enlarge the "selected keys" to enlarge the button width. As for the second key group 32 in the second keypad 30, if there is only one numeric key ("0"), the processor 12 randomly determines whether to enlarge the key width of "0". The first embodiment (as shown in FIGS. 3A and 3B) is randomly selected from each row of the first key group 28 in the first keypad 26, and the second key group 32 in the second keypad 30 is randomly selected. Decide whether to choose “0” (when there is only one button). Taking FIG. 3A as an example, the “keys randomly selected” in each row of the first key group 28 is “1” (ie, “3” in the first row, “4” in the second row, and “fourth” in the second row. The "9" of the three rows, and the "randomly selected button" of the second key group 30 is also "1" (ie, "0"). In this embodiment, the "randomly selected keys" of all the key groups (or all the keypads) have the same button width, that is, the button widths of "3", "4", "9", and "0" All the same. In some embodiments, in the same key group (or the same keypad), randomly selected keys have the same button width, and different key groups may have different button widths, for example: first key group 28 The buttons of "3", "4" and "9" have the same width, and the "0" of the second key group 32 is different from the button width of the above three, as shown in Fig. 4A. The present invention further sets a "key adjustment number preset value" (hereinafter referred to as "adjustment quantity") to control "the number of randomly selected keys". In this embodiment, the number of adjustments of each row of each key group is set as: "The number of adjustments is equal to 1" ("Adjustment Quantity = 1").

本發明於第一鍵群28由處理器12以隨機方式選取第一排列組合或第二排列組合,以及以隨機方式在各鍵群取選按鍵並加以放大其按鍵寬度,其目的在於隨機調整虛擬按鍵的點擊區域,即使惡意程式側錄到所有的點擊座標,亦無法以座標逆向推算出正確的字元(即,按鍵)。亦即,在本發明虛擬數字鍵盤20中的同一個點擊座標,即(X,Y),每次處理器12執行並顯示於螢幕16時,都會代表不同的按鍵(即,字元)。再次以第3A圖為例來說明,假設執行本發明虛擬數字鍵盤20之裝置10為智慧型手機,其螢幕解析度為1920x1080。而圖例中“1”按鍵內的某個點的座標位置假設為(100,575),當下次處理器12執行虛擬數字鍵盤20時,有可能是第二排列組合被選為第一 鍵群28的鍵盤佈局(如第3B圖所示),即以“7”為首的排列順序。此時,座標位置(100,575)即不在“1”按鍵內,即便是第一排列組合被選為第一鍵群28的鍵盤佈局,即以“1”為首的排列順序,但是經處理器12隨機選取並放大第一鍵群28中各排某個按鍵(或某些按鍵)的按鍵寬度後,該點座標位置(100,575)還是極有可能不在“1”按鍵內。此技術即可讓惡意程式所側錄到的點擊座標無法逆向推算出正確的字元,並且,使得按鍵仍依照傳統的計算機按鍵樣式或電話按鍵樣式之順序排列,方便使用者依其使用習慣找尋按鍵所在位置。 The first key group 28 of the present invention selects the first permutation combination or the second permutation combination in a random manner by the processor 12, and selects the keys in each of the key groups in a random manner and enlarges the button width thereof, the purpose of which is to randomly adjust the virtual In the click area of the button, even if the malicious program has recorded all the click coordinates, the correct character (ie, the button) cannot be reversed by the coordinates. That is, the same click coordinates, i.e., (X, Y), in the virtual numeric keypad 20 of the present invention, each time the processor 12 executes and is displayed on the screen 16, will represent different keys (i.e., characters). Again, taking FIG. 3A as an example, it is assumed that the device 10 that executes the virtual numeric keypad 20 of the present invention is a smart phone with a screen resolution of 1920×1080. The coordinates of a point in the "1" button in the legend are assumed to be (100, 575). When the next time the processor 12 executes the virtual numeric keypad 20, it is possible that the second permutation combination is selected as the first The keyboard layout of the key group 28 (as shown in FIG. 3B), that is, the arrangement order of "7". At this time, the coordinate position (100, 575) is not in the "1" button, even if the first permutation combination is selected as the keyboard layout of the first key group 28, that is, the arrangement order of "1", but the processor 12 is random. After selecting and enlarging the button widths of a certain button (or some buttons) of each row in the first key group 28, the coordinate position (100, 575) of the point is still most likely not in the "1" button. This technology allows the click coordinates recorded by the malicious program to reversely calculate the correct characters, and the buttons are still arranged in the order of the traditional computer button style or phone button style, so that the user can find according to their usage habits. The location of the button.

本發明上述第一鍵群28與第二鍵群32僅用於規範十個數字鍵於鍵群中的排列順序,本發明並未限定功能鍵及特殊符號鍵需設置在某一個特定的鍵區,功能鍵例如:“回車鍵”(Enter,亦可標示為“確認”或“OK”)、“Shift鍵”、“倒退鍵”…等,至於“特殊符號鍵”例如:At(@)、底線(_)、空白鍵(Space)、小數點(.)…等,可由人工方式任意組合至第一鍵區26或第二鍵區30。意即,軟體開發者或其他應用本發明方法之廠商,可依其需求將功能鍵、特殊符號鍵安插至任意鍵區。在一些實施例中,本發明於各鍵群的各排中隨機選取按鍵並調整按鍵寬度時,可排除該些功能鍵/特殊符號鍵而不做調整,即,該些功能鍵/特殊符號鍵維持固定按鍵寬度;在一些實施例中,該些功能鍵/特殊符號鍵由所屬鍵群負責,亦在隨機選取的名單之中,即,該些功能鍵/特殊符號鍵受隨機選取而調整。 The first key group 28 and the second key group 32 of the present invention are only used to specify the order of ten numeric keys in the key group. The present invention does not limit the function keys and the special symbol keys to be set in a specific key area. , function keys such as: "Enter" (Enter, can also be marked as "confirm" or "OK"), "Shift", "reverse button", etc., as for "special symbol keys" such as: At (@) The bottom line (_), the space key (Space), the decimal point (.), etc. may be arbitrarily combined to the first keypad 26 or the second keypad 30 by hand. That is, a software developer or other manufacturer applying the method of the present invention can insert function keys and special symbol keys into any of the keypads according to their needs. In some embodiments, when the present invention randomly selects a button in each row of each key group and adjusts the button width, the function key/special symbol key can be excluded without adjustment, that is, the function key/special symbol key The fixed button width is maintained; in some embodiments, the function keys/special symbol keys are responsible for the associated key group, and are also among the randomly selected lists, that is, the function keys/special symbol keys are randomly selected and adjusted.

參閱第3B圖,本發明實施例一虛擬數字鍵盤20之示意圖(二),與第3A圖不同的是此圖例的第一鍵群28係第二排列組合(即,計算機按 鍵樣式),其由左至右、由上至下順序為“7、8、9、4、5、6、1、2與3”,即,第一排為“7、8、9”,第二排為“4、5、6”,第三排為“1、2、3”。 Referring to FIG. 3B, a schematic diagram (2) of a virtual numeric keypad 20 according to an embodiment of the present invention is different from FIG. 3A in that the first key group 28 of the legend is a second permutation combination (ie, a computer press Key style), from left to right, from top to bottom, "7, 8, 9, 4, 5, 6, 1, 2, and 3", that is, the first row is "7, 8, 9". The second row is "4, 5, 6" and the third row is "1, 2, 3".

參閱第4A圖與第4B圖,本發明實施例二虛擬數字鍵盤20之示意圖,本實施例說明了虛擬數字鍵盤20除了具有第一鍵區26與第二鍵區30,亦包含呈現框42。在應用程式開發時可用標籤(Label)元件或輸入框(InputBox,又稱輸入方塊)元件來實作呈現框42,此呈現框42係於使用者點選虛擬按鍵後用以暫時呈現“被點選按鍵所對應的字元”。另外,在使用者操作虛擬數字鍵盤20之前呈現框42亦可用於顯示操作提示(Operation Tips),例如圖例中所顯示的“輸入完畢請按OK”,當使用者開始點選虛擬按鍵後此操作提示即自動清除。本實施例之第二鍵區30彈性擴增了空間以容置功能鍵(即,圖例中的“倒退鍵”與“OK鍵”)與特殊符號鍵(即,圖例中的“小數點”)到第二鍵群32。當第二鍵區30彈性擴增一至複數個空間以容置增設的功能鍵或/與符號鍵,使第二鍵群32有多個按鍵後,處理器12係以隨機方式在第二鍵群32挑選一至複數個按鍵,並將該些“被隨機選取的按鍵”加以放大其按鍵寬度。“確認鍵”(即,圖例中的“OK鍵”)的功用在於使用者輸入完畢後,將“被點選過的按鍵所對應的字元”(即,呈現框42所顯示的字元串)傳送到應用程式22的數字輸入框40。第4A圖的第一鍵群28係第一排列組合,而第4B圖的第一鍵群28係第二排列組合。 Referring to FIGS. 4A and 4B, a schematic diagram of a virtual numeric keypad 20 in accordance with a second embodiment of the present invention illustrates that the virtual numeric keypad 20 includes a presentation box 42 in addition to the first keypad 26 and the second keypad 30. In the application development, a label element 42 or an input box (Input Box) is used to implement the presentation box 42. The presentation box 42 is used to temporarily display the “pointed” after the user clicks the virtual button. Select the character corresponding to the button." In addition, before the user operates the virtual numeric keypad 20, the presentation box 42 can also be used to display an operation prompt (Operation Tips), for example, "press OK when the input is completed" in the legend, when the user starts clicking the virtual button, the operation is performed. The prompt is automatically cleared. The second keypad 30 of the present embodiment elastically expands the space to accommodate function keys (ie, "reverse key" and "OK key" in the legend) and special symbol keys (ie, "decimal point" in the legend). Go to the second key group 32. When the second keypad 30 elastically amplifies one to a plurality of spaces to accommodate the added function keys or/and symbol keys, so that the second key group 32 has a plurality of keys, the processor 12 is in a random manner in the second key group. 32 Select one to a plurality of buttons, and enlarge the "selected buttons" to enlarge the button width. The function of the "confirmation key" (ie, the "OK key" in the legend) is that after the user inputs, the "character corresponding to the button that has been clicked" will be displayed (ie, the character string displayed by the presentation box 42). ) is transferred to the digital input box 40 of the application 22. The first key group 28 of Fig. 4A is a first permutation combination, and the first key group 28 of Fig. 4B is a second permutation combination.

參閱第5A圖與第5B圖,本發明實施例三虛擬數字鍵盤20之示意圖,本實施例說明了第一鍵區26與第二鍵區30皆可彈性擴增空間以容置功能鍵或特殊符號鍵,而功能鍵可有不同的大小(包含寬度與高度皆不同)。 本實施例於第一鍵區26的前兩排右側增設了一個功能鍵,並於第二鍵區30的右側增設了一個特殊符號鍵和另一個功能鍵,本實施例的功能鍵/特殊符號鍵可設置為排除在處理器12的隨機挑選名單之中(即,採固定按鍵寬度),亦可設置為受處理器12的隨機挑選名單之中。第5A圖的第一鍵群28係第一排列組合,而第5B圖的第一鍵群28係第二排列組合。在一些實施例中,功能鍵由處理器12隨機調整設置位置,例如:第5A圖的“倒退鍵”在第一鍵區26、“OK鍵”在第二鍵區30,而第5B圖的“OK鍵”在第一鍵區26、“倒退鍵”在第二鍵區30,此設置順序係由處理器12隨機設置,以增加虛擬按鍵對應點擊區域的變數。於此實施例,第一鍵群26的各排調整數量與第二鍵群32的調整數量被設置為:“調整數量為大於等於1的任意數”(“調整數量>=1”),且被隨機選取的按鍵有的放大、有的縮小,使所有的按鍵寬度不相等(即,各排可有複數種的按鍵寬度)。 Referring to FIG. 5A and FIG. 5B, a schematic diagram of a virtual numeric keypad 20 according to the third embodiment of the present invention, the first keypad 26 and the second keypad 30 are both elastically expandable to accommodate function keys or special Symbol keys, while function keys can be of different sizes (including width and height). In this embodiment, a function key is added to the right side of the first two rows of the first keypad 26, and a special symbol key and another function key are added to the right side of the second keypad 30. The function key/special symbol of this embodiment The keys can be set to be excluded from the random selection list of the processor 12 (i.e., with a fixed button width), or can be set to be randomly selected by the processor 12. The first key group 28 of Fig. 5A is a first permutation combination, and the first key group 28 of Fig. 5B is a second permutation combination. In some embodiments, the function keys are randomly adjusted by the processor 12 to set the position, for example, the "reverse button" of Figure 5A is at the first keypad 26, the "OK button" is at the second keypad 30, and the fifth panel is The "OK button" is in the first keypad 26 and the "reverse button" is in the second keypad 30. This setting sequence is randomly set by the processor 12 to increase the variable of the virtual button corresponding to the click region. In this embodiment, the number of adjustments of each row of the first key group 26 and the adjustment amount of the second key group 32 are set to: “the number of adjustments is an arbitrary number greater than or equal to 1” (“adjustment quantity>=1”), and Some of the randomly selected buttons are enlarged and reduced so that all the buttons are not equal in width (ie, each row can have a plurality of button widths).

參閱第6A圖與第6B圖,本發明實施例四虛擬數字鍵盤20之示意圖,本實施例說明了第一鍵區26可彈性擴增空間以容置第三鍵區34,而第三鍵區34用以容置包含功能鍵的第三鍵群36。第6A圖的第一鍵群28係第一排列組合,而第6B圖的第一鍵群28係第二排列組合。本實施例的第三鍵群36並不在處理器12的隨機挑選名單之中,意即,第三鍵群36採固定按鍵寬度。在一些實施例中,第三鍵群36中的功能鍵由處理器12隨機調整上下順序,例如:第6A圖的“倒退鍵”在上方、“OK鍵”在下方,而第6B圖的“OK鍵”在上方、“倒退鍵”在下方,此設置順序係由處理器12隨機設置,以增加虛擬按鍵對應點擊區域的變數。另外,於此實施例,第一鍵群26的各排調整數 量與第二鍵群32的調整數量被設置為:“調整數量等於1”(“調整數量=1”),且所有被隨機選取的按鍵其按鍵寬度相等(即,“3”、“4”、“9”與“0”的按鍵寬度皆相等)。 Referring to FIG. 6A and FIG. 6B, a schematic diagram of a virtual numeric keypad 20 according to an embodiment of the present invention. This embodiment illustrates that the first keypad 26 can elastically expand the space to accommodate the third keypad 34, and the third keypad. 34 is for accommodating a third key group 36 including function keys. The first key group 28 of Fig. 6A is a first permutation combination, and the first key group 28 of Fig. 6B is a second permutation combination. The third key group 36 of the present embodiment is not among the random selection lists of the processor 12, that is, the third key group 36 adopts a fixed button width. In some embodiments, the function keys in the third key group 36 are randomly adjusted by the processor 12 in an up-and-down order, for example, the "reverse key" of FIG. 6A is above, the "OK key" is below, and the The OK button is "above" and the "reverse button" is below. This setting sequence is randomly set by the processor 12 to increase the variable of the virtual button corresponding to the click area. In addition, in this embodiment, the row adjustments of the first key group 26 are The amount of adjustment of the quantity and the second key group 32 is set to: "the number of adjustments is equal to 1" ("adjustment number = 1"), and all of the randomly selected keys have the same button width (ie, "3", "4") The widths of the buttons of "9" and "0" are equal).

參閱第7A圖與第7B圖,本發明實施例五虛擬數字鍵盤20之示意圖,本實施例說明了第三鍵區34設置於虛擬數字鍵盤20內第一鍵區26與第二鍵區30的右側。第7A圖的第一鍵群28係第一排列組合,而第7B圖的第一鍵群28係第二排列組合。同樣地,第三鍵群36中的功能鍵由處理器12隨機調整上下順序,例如:第7A圖的“倒退鍵”在上方、“OK鍵”在下方,而第7B圖的“OK鍵”在上方、“倒退鍵”在下方。不同上述所有實施例,此實施例係將該些“被隨機選取的按鍵”加以縮小其按鍵寬度,於此實施例,第一鍵群26的各排調整數量與第二鍵群32的調整數量被設置為:“調整數量等於1”(“調整數量=1”),且所有被隨機選取的按鍵其按鍵寬度相等(即,“1”、“6”、“8”與“0”的按鍵被隨機選取並縮小,且所有縮小後寬度皆相等)。 Referring to FIG. 7A and FIG. 7B, FIG. 7 is a schematic diagram of a virtual numeric keypad 20 of the embodiment of the present invention. This embodiment illustrates that the third keypad 34 is disposed in the first keypad 26 and the second keypad 30 in the virtual numeric keypad 20. Right. The first key group 28 of Fig. 7A is a first permutation combination, and the first key group 28 of Fig. 7B is a second permutation combination. Similarly, the function keys in the third key group 36 are randomly adjusted by the processor 12 in the upper and lower order, for example, the "reverse key" of the 7A picture is above, the "OK key" is below, and the "OK key" of the 7B figure. At the top, the "reverse button" is below. Different from all the above embodiments, this embodiment reduces the button widths of the "randomly selected keys". In this embodiment, the number of adjustments of the rows of the first key group 26 and the number of adjustments of the second key group 32 are different. Is set to: "Adjust the number equals 1" ("Adjustment Quantity = 1"), and all randomly selected buttons have the same button width (ie, buttons for "1", "6", "8", and "0") Randomly selected and reduced, and all reduced widths are equal).

參閱第8圖,本發明實施例二之操作流程圖,使用者利用智慧手機執行行動銀行應用程式22並利用虛擬數字鍵盤20輸入數字型資料之操作流程,請同時參第1圖、第9圖及第10圖,係包含: Referring to FIG. 8, the operation flow chart of the second embodiment of the present invention, the operation flow of the user executing the mobile banking application 22 by using the smart phone and inputting the digital data by using the virtual numeric keypad 20, please refer to FIG. 1 and FIG. 9 at the same time. And Figure 10, which contains:

步驟S101:於裝置10上執行應用程式22。使用者於智慧型手機(即,裝置10)執行行動銀行應用程式22,螢幕16顯示行動銀行應用程式22之圖形化使用者介面,如第9圖所示(圖例係先前技術)。為簡化說明,已簡略非關本發明之步驟,例如在螢幕16顯示第9圖之前的登入步驟、以 選單操作切換視圖步驟…等。 Step S101: The application 22 is executed on the device 10. The user executes the mobile banking application 22 on the smart phone (i.e., device 10), and the screen 16 displays the graphical user interface of the mobile banking application 22, as shown in Figure 9 (the legend is prior art). In order to simplify the description, the steps of the present invention have been briefly omitted, for example, the login step before the screen 16 is displayed on the screen 16, Menu operation switch view step...etc.

步驟S102:點擊數字輸入框40。使用者為輸入數字型資料,例如:銀行帳號或轉帳金額,點擊數字輸入框40後,即開始執行本發明之方法,亦即,步驟S103-S114。 Step S102: Click on the digital input box 40. After the user inputs the digital data, for example, the bank account number or the transfer amount, after clicking the digital input box 40, the method of the present invention is started, that is, steps S103-S114.

步驟S103:取得螢幕16之解析度。使用者於前一S102步驟點擊數字輸入框40時,即觸發處理器12執行本發明虛擬數字鍵盤20之第一程式指令組,第一程式指令組執行後取得螢幕16之解析度並暫存於記憶體14中,螢幕16之解析度係用於計算虛擬數字鍵盤20之顯示尺寸。在一些實施例中,本發明不需取得螢幕16之解析度來計算虛擬數字鍵盤20之顯示尺寸,而是顯示固定的尺寸,例如:應用於電腦或智慧型電視上的虛擬數字鍵盤20。 Step S103: Acquire the resolution of the screen 16. When the user clicks the digital input box 40 in the previous step S102, the trigger processor 12 executes the first program instruction group of the virtual numeric keypad 20 of the present invention. After the first program instruction group is executed, the resolution of the screen 16 is obtained and temporarily stored in the program. In the memory 14, the resolution of the screen 16 is used to calculate the display size of the virtual numeric keypad 20. In some embodiments, the present invention does not require the resolution of the screen 16 to calculate the display size of the virtual numeric keypad 20, but instead displays a fixed size, such as a virtual numeric keypad 20 for use on a computer or smart television.

步驟S104:處理器12產生虛擬數字鍵盤20的第一鍵區26與第二鍵區30。前一步驟結束後,本發明虛擬數字鍵盤20之第一程式指令組產生虛擬數字鍵盤20的第一鍵區26與第二鍵區30。第一鍵區26具有至少3乘3的空間以容置至少九個虛擬按鍵(第一鍵區虛擬按鍵),第二鍵區30具有至少一個空間以容置虛擬按鍵(第二鍵區虛擬按鍵)並設置於第一鍵區26的下方。在一些實施例中,虛擬數字鍵盤20的尺寸取決於前一步驟所取得的螢幕16解析度。在一些實施例中,此步驟僅先產生第一鍵區26,而於稍後的其他步驟中再產生第二鍵區30;在一些實施例中,此步驟同時產生第三鍵區34。 Step S104: The processor 12 generates the first keypad 26 and the second keypad 30 of the virtual numeric keypad 20. After the previous step, the first program instruction set of the virtual numeric keypad 20 of the present invention generates the first keypad 26 and the second keypad 30 of the virtual numeric keypad 20. The first keypad 26 has a space of at least 3 by 3 to accommodate at least nine virtual keys (first keypad virtual keys), and the second keypad 30 has at least one space for accommodating virtual keys (second keypad virtual keys) And disposed below the first keypad 26. In some embodiments, the size of the virtual numeric keypad 20 depends on the resolution of the screen 16 taken in the previous step. In some embodiments, this step only produces the first keypad 26 first, and the second keypad 30 is again generated in later steps; in some embodiments, this step simultaneously produces the third keypad 34.

步驟S105:處理器12隨機選取第一鍵群28之排列組合。 前一步驟結束後,本發明虛擬數字鍵盤20之第二程式指令組使處理器12以隨機方式選取第一排列組合或第二排列組合做為第一鍵群28。第一排列組合由左至右、由上至下順序為“1、2、3、4、5、6、7、8與9”,而第二排列組合由左至右、由上至下順序為“7、8、9、4、5、6、1、2與3”。 Step S105: The processor 12 randomly selects the permutation combination of the first key group 28. After the previous step, the second program instruction set of the virtual numeric keypad 20 of the present invention causes the processor 12 to select the first permutation combination or the second permutation combination as the first key group 28 in a random manner. The first permutation combination is from left to right, from top to bottom in the order of "1, 2, 3, 4, 5, 6, 7, 8, and 9", and the second permutation combination is from left to right, top to bottom. It is "7, 8, 9, 4, 5, 6, 1, 2 and 3".

步驟S106:將第一鍵群28由左至右、由上至下依序設置於第一鍵區26。隨機選定排列組合後,本發明虛擬數字鍵盤20之第二程式指令組將第一鍵群28由左至右、由上至下依序設置於第一鍵區26。 Step S106: The first key group 28 is sequentially disposed from the left to the right and from the top to the bottom in the first keypad 26. After the randomly selected arrangement is combined, the second program instruction set of the virtual numeric keypad 20 of the present invention sequentially sets the first key group 28 from left to right and top to bottom in the first keypad 26.

步驟S107:讀取記憶體14中第二鍵群32並設置於第二鍵區30。前一步驟結束後,第二程式指令組讀取記憶體14中第二鍵群32,並依序設置於第二鍵區30在一些實施例中,第二鍵群32僅包含一個數字“0”鍵。在一些實施例中,第二鍵群32除了“0”鍵之外尚包含其他功能鍵或/與特殊符號鍵,若功能鍵/特殊符號鍵欲採固定位置顯示於第二鍵區,可直接將功能鍵/特殊符號鍵設定至第二鍵群32並儲存於記憶體14。若功能鍵/特殊符號鍵欲採隨機設置,則至步驟S110設置。本流程說明的範例係假設記憶體14中的第二鍵群32包含“0”與“小數點(.)”鍵,而記憶體14中第二鍵群32的順序由左至右為“0”與“小數點(.)”,故,第二程式指令組依序將“0”與“小數點(.)”設置於第二鍵區30。 Step S107: The second key group 32 in the memory 14 is read and disposed in the second keypad 30. After the previous step is completed, the second program instruction set reads the second key group 32 in the memory 14 and sequentially sets it in the second keypad 30. In some embodiments, the second key group 32 contains only one number "0. "key. In some embodiments, the second key group 32 includes other function keys or/and special symbol keys in addition to the “0” key. If the function key/special symbol key is to be displayed in the second keypad, the direct key position may be directly The function key/special symbol key is set to the second key group 32 and stored in the memory 14. If the function key/special symbol key is to be randomly set, it is set to step S110. The example illustrated in this flow assumes that the second key group 32 in the memory 14 contains "0" and "decimal point (.)" keys, and the order of the second key group 32 in the memory 14 is from left to right. And "decimal point (.)", therefore, the second program instruction set sequentially sets "0" and "decimal point (.)" to the second keypad 30.

步驟S108:處理器12隨機選取第一鍵群28之按鍵以調整寬度。第二程式指令組執行後,本發明虛擬數字鍵盤20之第三程式指令組使處理器12以隨機方式選取第一鍵群28之虛擬按鍵以調整按鍵寬度。在一些實施例中,第三程式指令組以隨機方式選取第一鍵群28中的一至複數 個虛擬按鍵,再依據步驟S103所取得的螢幕16解析度來計算,將“被隨機選取的按鍵”加以放大按鍵寬度。在一些實施例中,第三程式指令組以隨機方式選取第一鍵群28中的一至複數個虛擬按鍵,再依據螢幕16解析度來計算,將“被隨機選取的按鍵”加以縮小按鍵寬度。在一些實施例中,第三程式指令組以隨機方式選取第一鍵群28中的一至複數個虛擬按鍵,將“被隨機選取的按鍵”加以放大或縮小按鍵寬度。第三程式指令組調整後,使得第一鍵群28具有複數種按鍵寬度。 Step S108: The processor 12 randomly selects the button of the first key group 28 to adjust the width. After the execution of the second program instruction set, the third program instruction set of the virtual numeric keypad 20 of the present invention causes the processor 12 to select the virtual keys of the first key group 28 in a random manner to adjust the button width. In some embodiments, the third set of program instructions selects one to plural of the first key group 28 in a random manner. The virtual buttons are further calculated according to the resolution of the screen 16 obtained in step S103, and the "selected keys" are enlarged to enlarge the button width. In some embodiments, the third set of program instructions randomly selects one to a plurality of virtual keys in the first key group 28, and then calculates the "selected keys" by reducing the button width according to the resolution of the screen 16. In some embodiments, the third set of program instructions randomly selects one to a plurality of virtual keys in the first key group 28 in a random manner, and enlarges or reduces the button width by "randomly selected keys." After the third program instruction set is adjusted, the first key group 28 has a plurality of key widths.

步驟S109:處理器12隨機選取第二鍵群30之虛擬按鍵以調整寬度。第一鍵群28之虛擬按鍵調整寬度後,接著,第三程式指令組使處理器12以隨機方式選取第二鍵群30之虛擬按鍵以調整按鍵寬度。在一些實施例中,當第二鍵群30只有一個“0”鍵時,第三程式指令組以隨機方式決定是否調整按鍵寬度。在一些實施例中,當第二鍵群30有複數個虛擬按鍵時,第三程式指令組以隨機方式選取第二鍵群30中的一至複數個虛擬按鍵,再依據步驟S103所取得的螢幕16解析度來計算,將“被隨機選取的按鍵”加以放大按鍵寬度。在一些實施例中,當第二鍵群30有複數個虛擬按鍵時,第三程式指令組以隨機方式選取第二鍵群30中的一至複數個虛擬按鍵,再依據螢幕16解析度來計算,將“被隨機選取的按鍵”加以縮小按鍵寬度。在一些實施例中,當第二鍵群30有複數個虛擬按鍵時,第三程式指令組以隨機方式選取第二鍵群30中的一至複數個虛擬按鍵,將“被隨機選取的按鍵”加以放大或縮小按鍵寬度。當第二鍵群30有複數個虛擬按鍵時,第三程式指令組調整後,使得第二鍵群30具有複數種按鍵寬度。 Step S109: The processor 12 randomly selects the virtual button of the second key group 30 to adjust the width. After the virtual button of the first key group 28 adjusts the width, the third program instruction group causes the processor 12 to select the virtual key of the second key group 30 in a random manner to adjust the button width. In some embodiments, when the second key group 30 has only one "0" key, the third program command group determines whether to adjust the button width in a random manner. In some embodiments, when the second key group 30 has a plurality of virtual keys, the third program instruction group randomly selects one to the plurality of virtual keys of the second key group 30 in a random manner, and then according to the screen 16 obtained in step S103. The resolution is calculated, and the "keys that are randomly selected" are enlarged to the width of the button. In some embodiments, when the second key group 30 has a plurality of virtual keys, the third program instruction group randomly selects one to the plurality of virtual keys in the second key group 30, and then calculates according to the resolution of the screen 16. Reduce the button width by "randomly selected buttons". In some embodiments, when the second key group 30 has a plurality of virtual keys, the third program instruction group randomly selects one to the plurality of virtual keys in the second key group 30 in a random manner, and the “randomly selected keys” are added. Zoom in or out on the button width. When the second key group 30 has a plurality of virtual keys, the third program command group is adjusted so that the second key group 30 has a plurality of key widths.

步驟S110:讀取記憶體14中的功能鍵並設置於虛擬數字鍵盤20前一步驟結束後,第二程式指令組讀取記憶體14中所儲存的功能鍵並設置於虛擬數字鍵盤20。在一些實施例中,該功能鍵係選自:倒退鍵、確認鍵與切換鍵。在一些實施例中,該功能鍵係指第三鍵群36,第二程式指令組將第三鍵群36設置於第一鍵區26中的第三鍵區34。在一些實施例中,第二程式指令組將功能鍵設置於第二鍵區30。在一些實施例中,第二程式指令組將功能鍵分別設置於第一鍵區26與第二鍵區30。在一些實施例中,該功能鍵係第三鍵群36,第二程式指令組將第三鍵群36設置於第一鍵區26與第二鍵區30右側的第三鍵區34。在一些實施例中,此步驟係執行於步驟S107之後,使得第三程式在隨機選取第一鍵群26或第二鍵群30之時,功能鍵或第三鍵群36亦在隨機選取名單之中。在一些實施例中,當功能鍵有複數個時,虛擬數字鍵盤20每次執行時,處理器12會隨機對調功能鍵(例如:倒退鍵與確認鍵)的位置。 Step S110: After reading the function keys in the memory 14 and setting them in the virtual numeric keypad 20, the second program instruction group reads the function keys stored in the memory 14 and sets them on the virtual numeric keypad 20. In some embodiments, the function key is selected from the group consisting of: a back button, a confirmation button, and a toggle button. In some embodiments, the function key refers to a third key group 36, and the second program command set sets the third key group 36 to the third keypad 34 in the first keypad 26. In some embodiments, the second set of program instructions sets the function keys to the second keypad 30. In some embodiments, the second set of program instructions sets the function keys to the first keypad 26 and the second keypad 30, respectively. In some embodiments, the function key is a third key group 36, and the second program command set sets the third key group 36 to the first keypad 26 and the third keypad 34 on the right side of the second keypad 30. In some embodiments, this step is performed after step S107, so that when the third program randomly selects the first key group 26 or the second key group 30, the function key or the third key group 36 is also in the random selection list. in. In some embodiments, when there are a plurality of function keys, the processor 12 randomly reverses the position of the function keys (eg, the back key and the confirmation key) each time the virtual numeric keypad 20 is executed.

步驟S111:於螢幕16上顯示虛擬數字鍵盤20。前一步驟結束後,本發明虛擬數字鍵盤20之第四程式指令組於螢幕16上顯示虛擬數字鍵盤20,在一些實施例中,虛擬數字鍵盤20包含呈現框42,如第10圖所示。 Step S111: Display the virtual numeric keypad 20 on the screen 16. After the previous step, the fourth program instruction set of the virtual numeric keypad 20 of the present invention displays a virtual numeric keypad 20 on the screen 16. In some embodiments, the virtual numeric keypad 20 includes a presentation block 42, as shown in FIG.

步驟S112:選取虛擬數字鍵盤20之按鍵以輸入數字。第四程式指令組於螢幕16顯示虛擬數字鍵盤20後,使用者以點選虛擬按鍵方式輸入數字(於此範例,輸入之數字係銀行帳號與金額)。使用者點選按鍵(即,點擊事件發生於按鍵的點擊區域)時,由本發明虛擬數字鍵盤20之第五程式 指令組接收並記錄每次的點擊座標/點擊事件,再由第五程式指令組將點擊座標/點擊事件轉換為所對應的字元(即,數字)或功能鍵,最後,第五程式指令組將所對應的字元顯示於呈現框42中,同時暫存於記憶體14。每個點擊座標/點擊事件係對應一個字元(或功能鍵),而記憶體14中依序儲存的多個字元合稱為“字元串”(即,整串數字,代表一個銀行帳號或一筆金額)。 Step S112: Select a button of the virtual numeric keypad 20 to input a number. After the fourth program command group displays the virtual numeric keypad 20 on the screen 16, the user inputs the number by clicking the virtual key button (in this example, the entered number is the bank account number and the amount). The fifth program of the virtual numeric keypad 20 of the present invention when the user clicks a button (ie, the click event occurs in the click area of the button) The instruction group receives and records each click coordinate/click event, and then the fifth program instruction group converts the click coordinate/click event into the corresponding character (ie, number) or function key, and finally, the fifth program instruction group The corresponding character is displayed in the presentation frame 42 while being temporarily stored in the memory 14. Each click coordinate/click event corresponds to one character (or function key), and multiple characters sequentially stored in the memory 14 are collectively referred to as a "character string" (ie, a whole string of numbers representing a bank account number). Or an amount).

步驟S113:點選虛擬數字鍵盤20之確認鍵。前一步驟輸入完畢後,使用者點選虛擬數字鍵盤20之確認鍵。在一些實施例中,當使用者利用虛擬數字鍵盤20所輸入之數字為銀行帳號、信用卡號或轉帳金額…等,本發明虛擬數字鍵盤20之第六程式指令組以檢核函數將字元串(即,帳號/卡號/金額)產生一個對應的檢查碼(Checksum)並暫存於記憶體14中。在一些實施例中,檢核函數為雜湊函數(Hash Function),而其產生對應的檢查碼即為雜湊值(Hash Value)。 Step S113: Click the confirmation key of the virtual numeric keypad 20. After the previous step is completed, the user clicks the confirmation key of the virtual numeric keypad 20. In some embodiments, when the number entered by the user using the virtual numeric keypad 20 is a bank account number, a credit card number, or a transfer amount, etc., the sixth program instruction set of the virtual numeric keypad 20 of the present invention uses a check function to string the characters. (ie, account number/card number/amount) generates a corresponding checksum (Checksum) and temporarily stores it in the memory 14. In some embodiments, the check function is a hash function, and the corresponding check code is a hash value.

步驟S114:將字元串傳送至數字輸入框40。使用者點選虛擬數字鍵盤20之確認鍵後,由第五程式指令組將記憶體14中的字元串傳送給應用程式22的數字輸入框40。在一些實施例中,若於前一步驟由第六程式指令組產生對應的檢查碼後,由第五程式指令組將記憶體14中的字元串傳送給程用程式22的數字輸入框40,同時,將記憶體14中的檢查碼傳送給程用程式22,應用程式22接收到檢查碼以及字元串(透過數字輸入框40接收)後即以檢查碼驗證字元串的資料真偽。 Step S114: The character string is transmitted to the digital input box 40. After the user clicks the confirmation key of the virtual numeric keypad 20, the character string in the memory 14 is transferred to the digital input box 40 of the application 22 by the fifth program instruction set. In some embodiments, if the corresponding check code is generated by the sixth program instruction group in the previous step, the character string in the memory 14 is transferred to the digital input box 40 of the program 22 by the fifth program instruction group. At the same time, the check code in the memory 14 is transmitted to the program 22, and the application 22 receives the check code and the character string (received through the digital input box 40), and then verifies the authenticity of the data string with the check code. .

上述實施例操作流程中,步驟S102至步驟S114為本發明顯示動態虛擬數字鍵盤之方法,其餘步驟係屬先前技術。 In the operation procedure of the above embodiment, steps S102 to S114 are methods for displaying a dynamic virtual numeric keypad, and the remaining steps are prior art.

上述步驟S113至步驟S114所利用的檢核函數與檢查碼,係本發明為防止裝置10被植入木馬程式或是駭客侵入後,以竄改記憶體中的資料方式將相關輸入值予以改變,故,本發明以檢核函數與檢查碼進行資料真偽之驗證。 The check function and the check code used in the above steps S113 to S114 are used to prevent the device 10 from being implanted into the Trojan horse program or the hacker to invade, and the relevant input value is changed by tampering with the data in the memory. Therefore, the present invention performs verification of the authenticity of the data by using the check function and the check code.

上述操作流程係以螢幕觸控式之裝置10(即,智慧型手機)為例來說明,本發明亦可應用於非螢幕觸控式之裝置10,例如個人電腦或筆記型電腦,當應用於非螢幕觸控式之裝置10時使用者係以輸入設備模組24(如滑鼠)進行按鍵之點選。 The above operation process is illustrated by using a screen-touch device 10 (ie, a smart phone) as an example, and the present invention can also be applied to a non-screen touch device 10, such as a personal computer or a notebook computer, when applied to In the non-screen touch type device 10, the user selects the button by using the input device module 24 (such as a mouse).

對本發明的不同實施例可理解的是,由電腦執行的程式指令可實行流程圖中的各個方塊、流程圖中方塊的組合、以及各實施例中的步驟。把該等程式指令組提供給一處理器操作以產生一機器或產生硬體與軟體協同運作的資源,藉此在該處理器上執行該等指令時,將產生用以實行流程圖方塊指明之動作或技術效果的構件。不同集合的程式指令亦可使展示於流程圖方塊中的至少某些操作步驟並行地進行,且虛擬數字鍵盤的各個程式指令所表達的技術內容可能依不同實施例而不同。再者,亦可在不只一個處理器上進行某些該等步驟,例如本發明裝置中微處理器與周邊介面處理器所協同運作的狀況。此外,在不偏離本發明範圍或精神的條件下,流程圖中之一或多個方塊或方塊的組合亦可與其他方塊或方塊組合同時地進行,或甚至以不同於展示出的順序來進行。 It will be understood by the various embodiments of the invention that the program instructions executed by the computer can carry out various blocks in the flowcharts, combinations of blocks in the flowcharts, and steps in the various embodiments. Providing the program instruction sets to a processor for generating a machine or generating resources for the hardware and software to cooperate, whereby when the instructions are executed on the processor, a A component of action or technical effect. The different sets of program instructions may also cause at least some of the operational steps shown in the flowchart blocks to be performed in parallel, and the technical content expressed by the various program instructions of the virtual numeric keypad may vary from embodiment to embodiment. Moreover, some of these steps can also be performed on more than one processor, such as the state in which the microprocessor and peripheral interface processor operate in conjunction with the apparatus of the present invention. In addition, one or more of the blocks or combinations of blocks in the flowcharts can be carried out simultaneously with other blocks or combinations of blocks, or even in a different order than the ones presented, without departing from the scope or spirit of the invention. .

因此,本發明流程圖的方塊支援用以進行指明動作或技術效果的構件組合、用以進行指明動作或技術效果的步驟組合、以及用以進行指 明動作或技術效果的程式指令構件。亦可了解的是,這些指明動作或技術效果是由特殊用途硬體式系統或者特殊用途硬體與程式指令協同運作來實行本發明流程圖的各個方塊以及流程圖的方塊組合。 Accordingly, the blocks of the flowchart of the present invention support combinations of components for performing the specified actions or technical effects, combinations of steps for performing the specified actions or technical effects, and A program instruction component that clarifies an action or a technical effect. It will also be appreciated that these specified actions or technical effects are those of the various blocks of the flowcharts of the present invention and the combinations of the flowcharts of the present invention.

本發明的動態虛擬數字鍵盤20除了應用於輸入數字型之資料,例如:銀行帳號、信用卡號、轉帳金額…等(如上述流程),另外,亦可應用於輸入數字型之密碼。 The dynamic virtual numeric keypad 20 of the present invention is applied to input digital type data, such as a bank account number, a credit card number, a transfer amount, etc. (as described above), and can also be applied to input a numeric type password.

綜上所述,本發明提出一種顯示動態虛擬數字鍵盤之技術,解決了先前技術無固定的順序規則、隨機設置虛擬按鍵的位置致使用者不習慣的問題,又避開惡意程式側錄點擊座標的問題,藉由本發明的技術可滿足使用者習慣上操作的需求,又提高資安保護程度,彌補了先前技術不足之處。 In summary, the present invention provides a technique for displaying a dynamic virtual numeric keypad, which solves the problem that the prior art has no fixed sequence rules, randomly sets the position of the virtual button, and the user is not used to it, and avoids malicious program sidetracking click coordinates. The problem of the present invention is that the technology of the present invention can meet the needs of the user's habitual operation, and the degree of protection of the security is improved, thereby making up for the deficiencies of the prior art.

雖然本發明的技術內容已經以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神所作些許之更動與潤飾,皆應涵蓋於本發明的範疇內,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。 Although the technical content of the present invention has been disclosed in the above preferred embodiments, it is not intended to limit the present invention, and any modifications and refinements made by those skilled in the art without departing from the spirit of the present invention are encompassed by the present invention. The scope of protection of the present invention is therefore defined by the scope of the appended claims.

Claims (16)

一種顯示動態虛擬數字鍵盤之方法,應用於一裝置,該裝置包含一處理器、一記憶體及一螢幕,該方法包含:使該處理器產生一虛擬數字鍵盤的一第一鍵區與一第二鍵區,該第一鍵區具有至少3乘3的空間以容置至少九個第一鍵區虛擬按鍵,該第二鍵區具有至少一個空間以容置一第二鍵區虛擬按鍵並設置於該第一鍵區的下方;使該處理器以隨機方式自該記憶體中選取一第一排列組合或一第二排列組合做為一第一鍵群,該第一排列組合由左至右、由上至下順序為“1、2、3、4、5、6、7、8與9”,而該第二排列組合由左至右、由上至下順序為“7、8、9、4、5、6、1、2與3”;將該第一鍵群由左至右、由上至下依序設置於該第一鍵區的該些第一鍵區虛擬按鍵;使該處理器讀取該記憶體中一第二鍵群並設置於該第二鍵區的該第二鍵區虛擬按鍵,該第二鍵群包含至少一“0”鍵;使該處理器以隨機方式選取該第一鍵群之一至複數個該第一鍵區虛擬按鍵以調整一按鍵寬度,使得該第一鍵群具有複數種該按鍵寬度;使該處理器以隨機方式決定是否選取該第二鍵群之該第二鍵區虛擬按鍵以調整該按鍵寬度;使該處理器讀取該記憶體中一功能鍵並設置於該虛擬數字鍵盤;於該螢幕顯示該虛擬數字鍵盤; 接收一點擊座標並轉換為對應的一字元;將該字元儲存至該記憶體;讀取該記憶體中依序儲存的複數個該字元以組成一字元串;以及,將該字元串傳送至一應用程式之一數字輸入框。 A method for displaying a dynamic virtual numeric keypad is applied to a device, the device comprising a processor, a memory and a screen, the method comprising: causing the processor to generate a first keypad and a first a second keypad, the first keypad having a space of at least 3 by 3 to accommodate at least nine first keypad virtual keys, the second keypad having at least one space for accommodating a second keypad virtual button and setting </ RTI> below the first keypad; causing the processor to select a first permutation combination or a second permutation combination from the memory in a random manner as a first key group, the first permutation combination from left to right The order from top to bottom is "1, 2, 3, 4, 5, 6, 7, 8, and 9", and the second arrangement is from left to right and top to bottom in order of "7, 8, and 9. , 4, 5, 6, 1, 2, and 3"; the first key group is sequentially disposed from left to right and top to bottom in the first keypad virtual keys of the first keypad; The processor reads a second key group in the memory and is disposed in the second keypad virtual button of the second keypad, the second key group includes a "0" key; causing the processor to randomly select one of the first key group to a plurality of the first keypad virtual keys to adjust a button width such that the first key group has a plurality of the button widths; The processor determines, in a random manner, whether to select the second keypad virtual button of the second key group to adjust the button width; and the processor reads a function key in the memory and is disposed on the virtual numeric keypad; The screen displays the virtual numeric keypad; Receiving a click coordinate and converting to a corresponding character; storing the character in the memory; reading a plurality of the characters sequentially stored in the memory to form a character string; and, the word The metastring is transmitted to a digital input box of an application. 如請求項1所述的顯示動態虛擬數字鍵盤之方法,其中更包含:取得該螢幕之一解析度;以及,該處理器係依據該螢幕之該解析度調整該按鍵寬度。 The method for displaying a dynamic virtual numeric keypad according to claim 1, further comprising: obtaining a resolution of the screen; and, the processor adjusting the button width according to the resolution of the screen. 如請求項1所述的顯示動態虛擬數字鍵盤之方法,其中該虛擬數字鍵盤更包含:一呈現框,用以暫時呈現該字元;及,一確認鍵,用以將該字元串傳送至該應用程式之該數字輸入框。 The method of displaying a dynamic virtual numeric keypad according to claim 1, wherein the virtual numeric keypad further comprises: a presentation frame for temporarily presenting the character; and a confirmation key for transmitting the character string to The digital input box of the application. 如請求項1所述的顯示動態虛擬數字鍵盤之方法,其中更包含:將該字元串依據一檢核函數產生一檢查碼;及,當該字元串傳送至該應用程式之一登入輸入框的同時,將該檢查碼傳送至該應用程式。 The method for displaying a dynamic virtual numeric keypad according to claim 1, further comprising: generating a check code according to a check function according to the check string; and, when the character string is transmitted to one of the application login inputs At the same time as the box, the check code is transmitted to the application. 如請求項1所述的顯示動態虛擬數字鍵盤之方法,其中更包含:當該功能鍵有複數個時,使該處理器以隨機方式對調該些功能鍵之位置。 The method for displaying a dynamic virtual numeric keypad according to claim 1, further comprising: when the function key has a plurality of functions, causing the processor to adjust the positions of the function keys in a random manner. 如請求項1所述的顯示動態虛擬數字鍵盤之方法,其中該第二鍵區具有至少兩個空間以容置該些第二鍵區虛擬按鍵,以及,該第二鍵群另包含一小數點鍵。 The method of displaying a dynamic virtual numeric keypad according to claim 1, wherein the second keypad has at least two spaces for accommodating the second keypad virtual keys, and the second key group further includes a decimal point key. 一種電腦程式產品,安裝於具有一螢幕及一記憶體之一裝置,該電腦程式產品包含:一第一程式指令組,產生具有一第一鍵區與一第二鍵區之一虛擬數字鍵盤,依據一解析度調整該虛擬數字鍵盤之一寬度,該第一鍵區具有至少3乘3的空間以容置至少九個第一鍵區虛擬按鍵,該第二鍵區具有至少一個空間以容置一第二鍵區虛擬按鍵並設置於該第一鍵區的下方;一第二程式指令組,以隨機方式選取一第一排列組合或一第二排列組合做為該虛擬數字鍵盤的一第一鍵群,該第一排列組合由左至右、由上至下順序為“1、2、3、4、5、6、7、8與9”,而該第二排列組合由左至右、由上至下順序為“7、8、9、4、5、6、1、2與3”,將該第一鍵群設置於該第一鍵區,讀取該記憶體中一第二鍵群並設置於該第二鍵區,該第二鍵群至少包含一“0”鍵,及,讀取該記憶體中一功能鍵並設置於該虛擬數字鍵盤;一第三程式指令組,以隨機方式選取該第一鍵群與一第二鍵群之一至複數個該第一鍵區虛擬按鍵、該第二鍵區虛擬按鍵以調整一按鍵寬度,使得該第一鍵群與該第二鍵群具有複數種該按鍵寬度;一第四程式指令組,於該螢幕顯示該虛擬數字鍵盤;一第五程式指令組,接收一點擊座標並轉換為對應的一字元,將該字元儲存至該記憶體,讀取該記憶體中依序儲存的複數個該字元以組成一字元串,及,將該字元串傳送至一應用程式之一數字輸入框; 其中,該等程式指令組儲存於該記憶體。 A computer program product installed on a device having a screen and a memory, the computer program product comprising: a first program instruction set, generating a virtual numeric keypad having a first keypad and a second keypad; Adjusting a width of the virtual numeric keypad according to a resolution, the first keypad has a space of at least 3 by 3 to accommodate at least nine first keypad virtual keys, the second keypad having at least one space for accommodating a second keypad virtual button is disposed under the first keypad; a second program instruction group randomly selects a first alignment combination or a second alignment combination as a first of the virtual numeric keypad a group of keys, the first permutation combination is from left to right, from top to bottom in the order of "1, 2, 3, 4, 5, 6, 7, 8, and 9", and the second permutation combination is from left to right. The order from top to bottom is "7, 8, 9, 4, 5, 6, 1, 2, and 3", the first key group is set in the first keypad, and a second key in the memory is read. The group is disposed in the second keypad, the second key group includes at least a "0" key, and reads one of the memory The key can be set on the virtual numeric keypad; a third program instruction set randomly selects one of the first key group and a second key group to a plurality of the first keypad virtual keys, and the second keypad virtual Pressing a button to adjust a button width such that the first key group and the second key group have a plurality of the button widths; a fourth program command group displaying the virtual numeric keypad on the screen; and a fifth program instruction group receiving Converting a coordinate to a corresponding one character, storing the character in the memory, reading a plurality of the characters sequentially stored in the memory to form a character string, and, the character The string is transmitted to a digital input box of an application; The program instruction sets are stored in the memory. 如請求項7所述之電腦程式產品,其中該第一程式指令組更包含:取得該螢幕之一解析度;以及,該第三程式指令組係依據該螢幕之該解析度調整該按鍵寬度。 The computer program product of claim 7, wherein the first program instruction group further comprises: obtaining a resolution of the screen; and the third program instruction group adjusts the button width according to the resolution of the screen. 如請求項7所述之電腦程式產品,其中該虛擬數字鍵盤更包含:一呈現框,用以暫時呈現該字元;及,一確認鍵,用以將該字元串傳送至該應用程式之該數字輸入框。 The computer program product of claim 7, wherein the virtual numeric keypad further comprises: a presentation box for temporarily presenting the character; and a confirmation button for transmitting the character string to the application The number input box. 如請求項7所述之電腦程式產品,其中更包含:一第六程式指令組,將該字元串依據一檢核函數產生一檢查碼;及,當該第五程式指令組將該字元串傳送至該應用程式之該數字輸入框的同時,將該檢查碼傳送至該應用程式。 The computer program product of claim 7, further comprising: a sixth program instruction set, the character string generating a check code according to a check function; and, when the fifth program instruction set the character The check code is transmitted to the application while the string is transmitted to the digital input box of the application. 如請求項7所述之電腦程式產品,其中更包含:當該功能鍵有複數個時,使一處理器以隨機方式對調該些功能鍵之位置。 The computer program product of claim 7, further comprising: when the function key has a plurality of functions, causing a processor to adjust the position of the function keys in a random manner. 如請求項7所述之電腦程式產品,其中該第二鍵區具有至少兩個空間以容置該些第二鍵區虛擬按鍵,以及,該第二鍵群另包含一小數點鍵。 The computer program product of claim 7, wherein the second keypad has at least two spaces for accommodating the second keypad virtual keys, and the second keypad further comprises a decimal point key. 一種顯示動態虛擬數字鍵盤之方法,應用於一裝置,該裝置包含一處理器、一記憶體及一螢幕,該方法包含:使該處理器產生一虛擬數字鍵盤的一第一鍵區,該第一鍵區具有至少3乘3的空間以容置至少九個第一鍵區虛擬按鍵; 使該處理器以隨機方式自該記憶體中選取一第一排列組合或一第二排列組合做為一第一鍵群,該第一排列組合由左至右、由上至下順序為“1、2、3、4、5、6、7、8與9”,而該第二排列組合由左至右、由上至下順序為“7、8、9、4、5、6、1、2與3”;將該第一鍵群由左至右、由上至下依序設置於該第一鍵區的該些第一鍵區虛擬按鍵;使該處理器以隨機方式選取該第一鍵群之一至複數個該第一鍵區虛擬按鍵以調整一按鍵寬度,使得該第一鍵群具有複數種該按鍵寬度;使該處理器讀取該記憶體中一功能鍵並設置於該虛擬數字鍵盤;於該螢幕顯示該虛擬數字鍵盤;接收一點擊座標並轉換為對應的一字元;將該字元儲存至該記憶體;讀取該記憶體中依序儲存的複數個該字元以組成一字元串;以及,將該字元串傳送至一應用程式之一數字輸入框。 A method for displaying a dynamic virtual numeric keypad is applied to a device, the device comprising a processor, a memory and a screen, the method comprising: causing the processor to generate a first keypad of a virtual numeric keypad, the a keypad has at least 3 by 3 space to accommodate at least nine first keypad virtual buttons; Having the processor select a first permutation combination or a second permutation combination from the memory in a random manner as a first key group, the first permutation combination is from left to right and from top to bottom in order , 2, 3, 4, 5, 6, 7, 8, and 9", and the second permutation combination is from left to right, and from top to bottom, "7, 8, 9, 4, 5, 6, 1, 2 and 3"; the first key group is sequentially disposed from left to right and top to bottom in the first keypad virtual keys of the first keypad; causing the processor to select the first in a random manner One of the key groups to a plurality of the first keypad virtual keys to adjust a button width such that the first key group has a plurality of the button widths; causing the processor to read a function key in the memory and set the virtual a numeric keypad; displaying the virtual numeric keypad on the screen; receiving a click coordinate and converting to a corresponding character; storing the character in the memory; and reading a plurality of the characters sequentially stored in the memory To form a string of characters; and to transfer the string of characters to a digital input box of an application. 如請求項13所述的顯示動態虛擬數字鍵盤之方法,其中更包含:取得該螢幕之一解析度;以及,該處理器係依據該螢幕之該解析度調整該按鍵寬度。 The method of displaying a dynamic virtual numeric keypad according to claim 13, further comprising: obtaining a resolution of the screen; and, the processor adjusting the button width according to the resolution of the screen. 如請求項13所述的顯示動態虛擬數字鍵盤之方法,其中該虛擬數字鍵盤更包含:一呈現框,用以暫時呈現該字元;及, 一確認鍵,用以將該字元串傳送至該應用程式之該數字輸入框。 The method of displaying a dynamic virtual numeric keypad according to claim 13, wherein the virtual numeric keypad further comprises: a presentation frame for temporarily presenting the character; A confirmation key for transmitting the character string to the digital input box of the application. 如請求項13所述的顯示動態虛擬數字鍵盤之方法,其中更包含:將該字元串依據一檢核函數產生一檢查碼;及,當該字元串傳送至該應用程式之一登入輸入框的同時,將該檢查碼傳送至該應用程式。 The method for displaying a dynamic virtual numeric keypad according to claim 13, further comprising: generating a check code according to a check function according to the check string; and, when the character string is transmitted to one of the application login inputs At the same time as the box, the check code is transmitted to the application.
TW107107932A 2018-03-08 2018-03-08 Method and computer program product of displaying a dynamic virtual numeric keypad TWI648658B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW107107932A TWI648658B (en) 2018-03-08 2018-03-08 Method and computer program product of displaying a dynamic virtual numeric keypad

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107107932A TWI648658B (en) 2018-03-08 2018-03-08 Method and computer program product of displaying a dynamic virtual numeric keypad

Publications (2)

Publication Number Publication Date
TWI648658B true TWI648658B (en) 2019-01-21
TW201945897A TW201945897A (en) 2019-12-01

Family

ID=65803830

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107107932A TWI648658B (en) 2018-03-08 2018-03-08 Method and computer program product of displaying a dynamic virtual numeric keypad

Country Status (1)

Country Link
TW (1) TWI648658B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070043681A1 (en) * 2005-08-09 2007-02-22 Morgan George F Online transactions systems and methods
TW201222396A (en) * 2010-11-22 2012-06-01 Acer Inc Touch-controlled apparatus and method for displaying a virtual keyboard on the touch-controlled apparatus thereof
US20120272175A1 (en) * 2011-04-25 2012-10-25 Chi Mei Communication Systems, Inc. System and method for controlling virtual keyboard of an electronic device
TW201316202A (en) * 2011-10-05 2013-04-16 Quanta Comp Inc Method and electronic device for virtual keyboard with haptic feedback
US20150137944A1 (en) * 2013-11-21 2015-05-21 Red Hat, Inc. Preventing the discovery of access codes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070043681A1 (en) * 2005-08-09 2007-02-22 Morgan George F Online transactions systems and methods
TW201222396A (en) * 2010-11-22 2012-06-01 Acer Inc Touch-controlled apparatus and method for displaying a virtual keyboard on the touch-controlled apparatus thereof
US20120272175A1 (en) * 2011-04-25 2012-10-25 Chi Mei Communication Systems, Inc. System and method for controlling virtual keyboard of an electronic device
TW201316202A (en) * 2011-10-05 2013-04-16 Quanta Comp Inc Method and electronic device for virtual keyboard with haptic feedback
US20150137944A1 (en) * 2013-11-21 2015-05-21 Red Hat, Inc. Preventing the discovery of access codes

Also Published As

Publication number Publication date
TW201945897A (en) 2019-12-01

Similar Documents

Publication Publication Date Title
EP3443724B1 (en) Web service picture passwords
US8755771B2 (en) System, method, and program for generating screen
US20150100913A1 (en) Method for providing personalized virtual keyboard
US20110191856A1 (en) Receiving input data
WO2008034336A1 (en) Method for browsing web page
KR20210077770A (en) Multi-factor based password authentication
TWI770429B (en) Device and method of a stock quoting software with multiple guis
TWI648658B (en) Method and computer program product of displaying a dynamic virtual numeric keypad
JP7142961B2 (en) multilingual keyboard system
US20100131924A1 (en) Method of building virtual keyboard
US10678895B2 (en) Data input method, and electronic device and system for implementing the data input method
TWI659337B (en) Method and computer program product of displaying a dynamic virtual keyboard
TWI650677B (en) Method and computer program product of displaying a dynamic virtual keyboard
JP5910654B2 (en) Information processing apparatus, information processing apparatus control method, and program
KR100690733B1 (en) System for defining keypad of mobile communication terminal and method thereof
CN110049374A (en) A kind of focus frame determines method and device
KR101662380B1 (en) Finance interface providing method and server performing the same
JP7317903B2 (en) Display control system and program
US20230109497A1 (en) Validating credential keys based on combinations of credential value strings and input order strings
US20230108228A1 (en) Validating credential keys based on combinations of credential value strings and input order strings
TWI675345B (en) Device and method of an outer link of a stock watchlist
JP6146442B2 (en) Information processing apparatus, information processing method, and program
CN114911356A (en) Password input method and system based on Hongmon system
GB2504066A (en) Location of symbols on display of input device modified according to user selection
TWM636091U (en) ATMs with function of resetting Internet banking password