CN104615954B - 密码存储方法和装置 - Google Patents

密码存储方法和装置 Download PDF

Info

Publication number
CN104615954B
CN104615954B CN201410307464.7A CN201410307464A CN104615954B CN 104615954 B CN104615954 B CN 104615954B CN 201410307464 A CN201410307464 A CN 201410307464A CN 104615954 B CN104615954 B CN 104615954B
Authority
CN
China
Prior art keywords
code characters
password
matrix
stored
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410307464.7A
Other languages
English (en)
Other versions
CN104615954A (zh
Inventor
吴昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410307464.7A priority Critical patent/CN104615954B/zh
Publication of CN104615954A publication Critical patent/CN104615954A/zh
Application granted granted Critical
Publication of CN104615954B publication Critical patent/CN104615954B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2133Verifying human interaction, e.g., Captcha
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明公开了一种密码存储方法和装置,属于互联网技术领域。所述方法包括:获取待存储密码中的任一密码字符;将任一密码字符进行加密,得到任一密码字符对应的加密数据;确定任一密码字符对应预先构造的用于存储待存储密码的第一矩阵中的存储位置,将任一密码字符对应的加密数据存储至任一密码字符对应第一矩阵中的存储位置上。本发明通过将待存储密码中的任一密码字符进行加密,得到加密数据,并确定任一密码字符对应预先构造的用于存储待存储密码的第一矩阵中的存储位置,进而将任一密码字符对应的加密数据存储至任一密码字符对应第一矩阵中的存储位置上。由于待存储密码以加密数据的形式存储在第一矩阵中,因而可以提高密码存储的安全性。

Description

密码存储方法和装置
技术领域
本发明涉及互联网技术领域,特别涉及一种密码存储方法和装置。
背景技术
随着互联网技术的发展,网络安全问题越来越突出。各种网络盗号工具层出不穷,时刻威胁着用户的账户安全。由于用户的账户中不仅存储着用户的重要信息,而且还可能存储着虚拟物品、虚拟货币等,因此,有必要对用户的账户进行保护。目前在保护用户的账户时,主要通过在用户登录账户时进行密码验证的方式。由于密码是对用户的账户进行保护的重要依据,因此,在用户成功登录之后如何存储密码,成为有效保护用户的账户安全的关键。
相关技术在存储密码时,通过在登录界面上提供密码输入对话框,并获取用户操作终端在密码输入对话框中输入的密码,进而直接将获取到的密码存储在内存中。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:
相关技术在存储密码时,由于直接将获取到的密码存储在内存中,当终端被植入木马等盗号程序之后,木马等盗号程序很容易从内存中获取到密码,进而通过获取到的密码盗取用户的账户,因此,相关技术存储密码的方式的安全性不高。
发明内容
为了解决相关技术的问题,本发明实施例提供了一种密码存储方法和装置。所述技术方案如下:
一方面,提供了一种密码存储方法,所述方法包括:
获取待存储密码中的任一密码字符;
将所述任一密码字符进行加密,得到所述任一密码字符对应的加密数据;
根据所述任一密码字符在所述待存储密码中的位置,确定所述任一密码字符在第一矩阵中的位置,所述第一矩阵是预先构造的、用于存储所述待存储密码的矩阵;
将所述任一密码字符对应的加密数据存储至所述任一密码字符对应所述第一矩阵中的存储位置上。
另一方面,提供了一种密码存储装置,所述装置包括:
获取模块,用于获取待存储密码中的任一密码字符;
加密模块,用于将所述任一密码字符进行加密,得到所述任一密码字符对应的加密数据;
确定模块,用于根据所述任一密码字符在所述待存储密码中的位置,确定所述任一密码字符在第一矩阵中的位置,所述第一矩阵是预先构造的、用于存储所述待存储密码的矩阵;
存储模块,用于将所述任一密码字符对应的加密数据存储至所述任一密码字符对应所述第一矩阵中的存储位置上。
本发明实施例提供的技术方案带来的有益效果是:
通过将待存储密码中的任一密码字符进行加密,得到任一密码字符对应的加密数据,并确定任一密码字符对应预先构造的用于存储待存储密码的第一矩阵中的存储位置,进而将任一密码字符对应的加密数据存储至任一密码字符对应第一矩阵中的存储位置上。由于待存储密码以加密数据的形式存储在第一矩阵中,因而可以提高密码存储的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种密码存储方法流程图;
图2是本发明另一个实施例提供的一种密码存储方法流程图;
图3是本发明另一个实施例提供的一种密码存储装置结构示意图;
图4是本发明另一个实施例提供的获取模块的结构示意图;
图5是本发明另一个实施例提供的确定模块的结构示意图;
图6是本发明另一个实施例提供的一种密码存储装置结构示意图;
图7是本发明另一个实施例提供的一种终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
随着互联网技术的发展,用户的账户价值越来越高,随之而来盗取用户的账户的现象也越来越严重。为了保护用户的账户安全,本发明实施例提供了一种密码存储方法,参见图1,本实施例提供的方法流程包括:
101:获取待存储密码中的任一密码字符。
作为一种可选的实施例,获取待存储密码中的任一密码字符,包括:
检测输入焦点的当前位置是否在密码输入对话框中;
若输入焦点的当前位置在密码输入对话框中,则获取密码输入对话框中的任一字符,并将密码输入对话框中的任一字符作为获取到的待存储密码中的任一密码字符。
102:将任一密码字符进行加密,得到任一密码字符对应的加密数据。
103:确定任一密码字符对应预先构造的用于存储待存储密码的第一矩阵中的存储位置,将任一密码字符对应的加密数据存储至任一密码字符对应第一矩阵中的存储位置上。
作为一种可选的实施例,第一矩阵的行数为密码输入对话框中允许输入的密码的最大长度,第一矩阵的列数为随机选取的大于一的任一数值;
确定任一密码字符对应预先构造的用于存储待存储密码的第一矩阵中的存储位置,包括:
以第一矩阵的列数为阈值随机选取一个数值,并将选取的数值作为任一密码字符对应第一矩阵中的列数值;
确定任一密码字符在待存储密码中的位数;
根据任一密码字符在待存储密码中的位数确定任一密码字符对应第一矩阵中的行数值;
根据任一密码字符对应第一矩阵中的列数值及行数值确定任一密码字符对应第一矩阵中的存储位置。
作为一种可选的实施例,根据任一密码字符在待存储密码中的位数确定任一密码字符在第一矩阵中的行数值,包括:
判断任一密码字符在待存储密码中的位数是否超过第一矩阵的行数;
若任一密码字符在待存储密码中的位数未超过第一矩阵的行数,则将任一密码字符在待存储的密码中的位数作为任一密码字符对应第一矩阵中的行数值。
作为一种可选的实施例,将任一密码字符对应的加密数据存储至任一密码字符对应第一矩阵中的存储位置上之后,还包括:
将第一矩阵中任一密码字符对应的加密数据所在行的其他位置随机填充一个字符。
本发明实施例提供的方法,通过将待存储密码中的任一密码字符进行加密,得到任一密码字符对应的加密数据,并确定任一密码字符对应预先构造的用于存储待存储密码的第一矩阵中的存储位置,进而将任一密码字符对应的加密数据存储至任一密码字符对应第一矩阵中的存储位置上。由于待存储密码以加密数据的形式存储在第一矩阵中,因而可以提高密码存储的安全性。
结合上述实施例,本发明实施例提供了一种密码存储方法,参见图2,本实施例提供的方法流程包括:
201:获取待存储密码中的任一密码字符。
其中,待存储密码可以是即时通讯号的密码、网络账户的密码等,本实施例不对待存储的密码作具体的限定。待存储密码的形式包括但不限于由数字组成的字符串、字母组成的字符串或者由数字及字母混合组成的字符串等。例如,待存储密码可以是1234,也可以是abcd,当然也可以是12cd,本实施例不对待存储密码的形式作具体的限定。待存储密码的长度可以为6位,也可以为8位,当然也可以为10位,本实施不对待存储密码的位数作具体的限定。
关于获取待存储密码中的任一密码字符的方式,包括但不限于:
首先,检测输入焦点的当前位置是否在密码输入对话框中;
其次,若输入焦点的当前位置在密码输入对话框中,则获取密码输入对话框中的任一字符,并将密码输入对话框中的任一字符作为获取到的待存储密码中的任一密码字符。
具体地,当检测到输入焦点的当前位置在密码输入对话框中,说明用户当前所进行的操作为密码输入操作,此时用户操作键盘、鼠标等设备在密码输入对话框中输入的任一字符即为待存储密码中的任一密码字符,因而可将在密码输入对话框中获取到的任一字符作为获取到的待存储密码中的任一密码字符。
202:将任一密码字符进行加密,得到任一密码字符对应的加密数据。
在获取到待存储密码中的任一密码字符之后,为了防止获取到的待存储密码被木马等盗号程序盗取,可将任一密码字符进行加密处理,得到任一密码字符对应的加密数据。
关于将任一密码字符进行加密的方式,本实施例不作具体的限定。具体实施时,可使用加密算法对任一密码字符进行加密。其中,加密算法包括但不限于MD5(MessageDigest Algorithm,消息摘要算法第五版)算法等。加密数据可以是数字、字母、符号等,本实施例不对加密数据作具体的限定。
进一步地,由于加密数据是将密码字符进行加密处理得到的,通过加密处理每个密码字符对应的加密数据并不再是一个简单的密码字符,即使盗号工具盗取了加密数据也很难通过加密数据得到原始的密码字符,因此,大大地提高了密码存储方式的安全性。例如,加密字符1经过加密处理可得到加密数据6,将加密字符2经过加密处理可得到加密数据a,实际应用中,即使通过盗号获取到加密数据6和a,也很难获取加密字符1和2。
进一步地,由于每个密码字符与每个密码字符对应的加密数据是一一对应的,而每个密码字符与每个密码字符对应的加密数据是对用户的账户进行管理的重要数据,因此,为了便于后续过程中对用户的账户进行管理,本实施例提供的方法在将每个密码字符进行加密处理得到对应的加密数据之后,还将存储每个密码字符与加密数据的对应关系。关于存储每个密码字符与加密数据的对应关系的方式,包括但不限于将每个密码字符与加密数据的对应关系存储在对应的存储介质中。关于存储每个密码字符与加密数据的对应关系的形式,包括但不限于以表格、矩阵等形式存储每个密码字符与加密数据的对应关系。下面以表格的形式存储每个密码字符与加密数据的对应关系为例,具体参见表1。
表1
密码字符 密码字符对应的加密数据
1 6
2 4
3 7
203:确定任一密码字符对应预先构造的用于存储待存储密码的第一矩阵中的存储位置。
由于在本实施例中待存储密码是存储在第一矩阵中的,而不同的密码字符对应第一矩阵中的存储位置是不同的,因此,在获取到任一密码字符,并对任一密码字符加密得到任一密码字符对应的加密数据之后,还将确定任一密码字符对应第一矩阵中的存储位置。
进一步地,由于第一矩阵是对待存储密码中的任一字符进行存储的重要存储形式,因此,在确定任一密码字符对应第一矩阵中的存储位置之前,本实施例提供的方法还预先构造一个第一矩阵。
关于构造第一矩阵的方法,本实施例不对具体的限定,包括但不限于在以密码输入对话框中允许输入的密码的最大长度为行数、以随机选取的大于一的任一数值为列数进行构造。例如,若密码输入对话框中允许数据的密码的最大长度为13位,随机选取大于一的数值为5,则可将13作为第一矩阵的行数,将5作为第一矩阵的列数,构造一个13*5阶矩阵,并将构造的矩阵作为第一矩阵;若密码输入对话框中允许数据的密码的最大长度为10位,随机选取大于一的数值为7,则可将10作为第一矩阵的行数,将7作为第一矩阵的列数,构造一个10*7阶矩阵,并将构造的矩阵作为第一矩阵。
需要说明的是,为了提高存储密码的安全性,在确定第一矩阵的列数时,可适当地选取一个较大的数值,并将选取的较大数值作为第一矩阵的列数,以增加盗号工具破解密码的难度,从而提高存储密码的安全性。
具体地,确定任一密码字符对应预先构造的用于存储待存储密码的第一矩阵中的存储位置,包括但不限于采用如下方式:
第一步,以第一矩阵的列数为阈值随机选取一个数值,并将选取的数值作为任一密码字符对应第一矩阵中的列数值;
若第一矩阵的列数为N(N>1),以第一矩阵的列数N为最大值,构造一个阈值区间[1,N],则可在[1,N]之间随机选取一个数值Q,并将选取的数值Q作为任一密码字符对应第一矩阵中的列数值。例如,第一矩阵的列数为5,以第一矩阵的列数5为最大值构造一个阈值区间[1,5],在阈值区间[1,5]中随机选取的数值为3,则将3作为任一密码字符对应第一矩阵中的列数值。
第二步,确定任一密码字符在待存储密码中的位数;
例如,待存储密码为123456,任一密码字符为4,该任一密码字符在待存储密码中的位数为第四位。
第三步,根据任一密码字符在待存储密码中的位数确定任一密码字符对应第一矩阵中的行数值;
具体地,根据任一密码字符在待存储密码中的位数确定任一密码字符在第一矩阵中的行数值,包括但不限于:
判断任一密码字符在待存储密码中的位数是否超过第一矩阵的行数;
若任一密码字符在待存储密码中的位数未超过第一矩阵的行数,则将任一密码字符在待存储的密码中的位数作为任一密码字符对应第一矩阵中的行数值。
例如,若任一密码字符在待存储的密码中的位数为P,则将P作为任一密码字符对应第一矩阵中的行数值。
对于上述根据任一密码字符在待存储密码中的位数确定任一密码字符在第一矩阵中的行数值的过程,为了便于理解,下面将以一个具体的例子进行详细地解释说明。
例如,设定第一矩阵的行数为10,若待存储密码为123456789,任一密码字符为6,6在待存储密码中的位数为第6位,由于任一密码字符6在待存储密码中的位数6未超过第一矩阵的行数10,因此,将任一密码字符6在待存储的密码中的位数6作为任一密码字符对应第一矩阵中的行数值;若待存储密码为123456789abc,任一密码字符为b,b在待存储密码中的位数为第11位,由于任一密码字符b在待存储密码中的位数11超过了第一矩阵的行数10,因此,不会将任一密码字符b在待存储的密码中的位数11作为任一密码字符对应第一矩阵中的行数值,此次密码存储无效。
第四步,根据任一密码字符对应第一矩阵中的列数值及行数值确定任一密码字符对应第一矩阵中的存储位置。
由于通过上述步骤已经确定了任一密码字符对应第一矩阵的列数值Q及行数值P,因此,根据上述步骤中确定的任一密码字符对应第一矩阵中的列数值Q及行数值P可确定任一密码字符对应第一矩阵中的存储位置为[P,Q],即任一密码字符对应第一矩阵中存储位置为第P行第Q列的位置。例如,任一密码字符对应第一矩阵的列数值为3,行数值为5,则将第一矩阵中第5行第3列的位置作为任一密码字符对应第一矩阵中的存储位置。
204:将任一密码字符对应的加密数据存储至任一密码字符对应第一矩阵中的存储位置上。
在确定任一密码字符对应第一矩阵中的存储位置之后,就可将任一密码字符对应的加密数据存储至任一密码字符对应第一矩阵中的存储位置上。例如,任一密码字符为1,将任一密码字符1经过加密处理得到加密数据8,密码字符1在第一矩阵中的存储位置为第3行第4列,则可将任一密码字符1对应的加密数据8存储至第一矩阵的第3行第4列的位置上。
进一步地,为了提高密码存储方式的安全性,避免存储的密码被盗取,在将任一密码字符对应的加密数据存储至任一密码字符对应第一矩阵中的存储位置上之后,本实施例还将第一矩阵中任一密码字符对应的加密数据所在行的其他位置随机填充一个字符。其中,随机填充的字符可以是标点符号、数字、字母、图形等,本实施例不对随机填充的字符作具体的限定。
至此,通过上述过程实现了对待存储密码中的任一密码字符的存储,对于待存储密码中的其他密码字符在存储时可采用上述对待存储密码中的任一密码字符的存储方法,此处不再赘述。对于待存储密码的存储过程,下面将以一个具体的例子进行详细地介绍。
例如,待存储密码为12345,第一矩阵为一个5*7阶矩阵。存储第一个密码字符1时,若将第一个密码字符1经过加密处理得到密码数据为8,密码字符1对应第一矩阵中的存储位置为第1行第6列,则将密码字符1对应的加密数据8存储在第1行第6列的位置上,并将第一矩阵中第1行的其他位置随机填充一个字符;存储第二个密码字符2时,若将第一个密码字符2经过加密处理得到密码数据为3,密码字符2对应第一矩阵中的存储位置为第2行第1列,则将密码字符2对应的加密数据3存储在第2行第1列的位置上,并将第一矩阵中第2行的其他位置随机填充一个字符;存储第一个密码字符3时,若将第一个密码字符3经过加密处理得到密码数据为7,密码字符3对应第一矩阵中的存储位置为第3行第3列,则将密码字符3对应的加密数据7存储在第3行第3列的位置上,并将第一矩阵中第3行的其他位置随机填充一个字符;存储第一个密码字符4时,若将第一个密码字符4经过加密处理得到密码数据为5,密码字符4对应第一矩阵中的存储位置为第4行第6列,则将密码字符4对应的加密数据5存储在第4行第6列的位置上,并将第一矩阵中第4行的其他位置随机填充一个字符;存储第一个密码字符5时,若将第五个密码字符5经过加密处理得到密码数据为6,密码字符5对应第一矩阵中的存储位置为第5行第5列,则将密码字符5对应的加密数据6存储在第5行第5列的位置上,并将第一矩阵中第5行的其他位置随机填充一个字符。通过上述过程,得到存储有待存储密码12345的数据的第一矩阵为:
进一步地,在将待存储密码存储在第一矩阵中之后,若后续需要对存储的密码进行管理,本实施例提供的方法还将根据第一矩阵中存储的加密数据获取对应的密码。具体地,在根据第一矩阵中存储的加密数据获取对应的密码时,首先获取第一矩阵中存储的加密数据的位置,进而从第一矩阵中对应的位置上获取加密数据,然后根据加密数据与密码字符的对应关系确定加密数据对应的密码字符,进而获取整个密码。以上述存储待存储密码12345为例,当获取到待存储密码的第一矩阵之后,根据待存储密码中的每个加密字符在第一矩阵中的存储位置,可从第一矩阵中第1行第6列的位置上获取到加密数据8,从第一矩阵中第2行第1列的位置上获取到加密数据3,从第一矩阵第3行第3列的位置上获取到加密数据7,从第一矩阵第4行第6列的位置上获取到加密数据5,从第一矩阵中第5行第5列的位置上获取到加密数据6。根据加密数据与密码字符的对应关系确定加密数据8对应的密码字符为1,加密数据3对应的密码字符为2,加密数据7对应的密码字符为3,加密数据5对应的密码字符为4,加密数据6对应的密码字符为5,而加密数据在第一矩阵中的行数值即为加密数据对应的密码字符在整个密码中的位数,因而可获知整个密码为12345。
本发明实施例提供的方法,通过将待存储密码中的任一密码字符进行加密,得到任一密码字符对应的加密数据,并确定任一密码字符对应预先构造的用于存储待存储密码的第一矩阵中的存储位置,进而将任一密码字符对应的加密数据存储至任一密码字符对应第一矩阵中的存储位置上。由于待存储密码以加密数据的形式存储在第一矩阵中,因而可以提高密码存储的安全性。
参见图3,本发明实施例提供了一种密码存储装置,该装置用于执行上述图1和图2所示实施例中任一实施例所述的密码存储装置,该装置包括:
获取模块301,用于获取待存储密码中的任一密码字符;
加密模块302,用于将任一密码字符进行加密,得到任一密码字符对应的加密数据;
确定模块303,用于确定任一密码字符对应预先构造的用于存储待存储密码的第一矩阵中的存储位置;
存储模块304,用于将任一密码字符对应的加密数据存储至任一密码字符对应第一矩阵中的存储位置上。
参见图4,获取模块301,包括:
检测单元3011,用于检测输入焦点的当前位置是否在密码输入对话框中;
获取单元3012,用于当输入焦点的当前位置在密码输入对话框中时,获取密码输入对话框中的任一字符,并将密码输入对话框中的任一字符作为获取到的待存储密码中的任一密码字符。
作为一种可选的实施例,第一矩阵的行数为密码输入对话框中允许输入的密码的最大长度,第一矩阵的列数为随机选取的大于一的任一数值;
参见图5,确定模块303,包括:
选取单元3031,用于以第一矩阵的列数为阈值随机选取一个数值,并将选取的数值作为任一密码字符对应第一矩阵中的列数值;
第一确定单元3032,用于确定任一密码字符在待存储密码中的位数;
第二确定单元3033,用于根据任一密码字符在待存储密码中的位数确定任一密码字符对应第一矩阵中的行数值;
第三确定单元3034,用于根据任一密码字符对应第一矩阵中的列数值及行数值确定任一密码字符对应第一矩阵中的存储位置。
作为一种可选的实施例,第二确定单元3033,用于判断任一密码字符在待存储密码中的位数是否超过第一矩阵的行数;当任一密码字符在待存储密码中的位数未超过第一矩阵的行数时,将任一密码字符在待存储的密码中的位数作为任一密码字符对应第一矩阵中的行数值。
参见图6,该装置,还包括:
填充模块305,用于将第一矩阵中任一密码字符对应的加密数据所在行的其他位置随机填充一个字符。
综上所述,本发明实施例提供的装置,通过将待存储密码中的任一密码字符进行加密,得到任一密码字符对应的加密数据,并确定任一密码字符对应预先构造的用于存储待存储密码的第一矩阵中的存储位置,进而将任一密码字符对应的加密数据存储至任一密码字符对应第一矩阵中的存储位置上。由于待存储密码以加密数据的形式存储在第一矩阵中,因而可以提高密码存储的安全性。
参见图7,其示出了本发明实施例所涉及的终端的结构示意图,该终端可以用于实施上述实施例中提供的密码存储方法。具体来讲:
终端700可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(Wireless Fidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图7中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端700的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端700的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图7中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端700还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端700移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端700还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端700之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端700的通信。
WiFi属于短距离无线传输技术,终端700通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了WiFi模块170,但是可以理解的是,其并不属于终端700的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端700的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端700的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;可选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端700还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端700还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端700的显示单元是触摸屏显示器,终端700还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。所述一个或者一个以上程序包含用于执行以下操作的指令:
获取待存储密码中的任一密码字符;
将任一密码字符进行加密,得到任一密码字符对应的加密数据;
确定任一密码字符对应预先构造的用于存储待存储密码的第一矩阵中的存储位置,将任一密码字符对应的加密数据存储至任一密码字符对应第一矩阵中的存储位置上。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
获取待存储密码中的任一密码字符,包括:
检测输入焦点的当前位置是否在密码输入对话框中;
若输入焦点的当前位置在密码输入对话框中,则获取密码输入对话框中的任一字符,并将密码输入对话框中的任一字符作为获取到的待存储密码中的任一密码字符。
则在第一种可能的实施方式或第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
第一矩阵的行数为以密码输入对话框中允许输入的密码的最大长度、第一矩阵的列数为随机选取的大于一的任一数值;
确定任一密码字符对应预先构造的用于存储待存储密码的第一矩阵中的存储位置,包括:
以第一矩阵的列数为阈值随机选取一个数值,并将选取的数值作为任一密码字符对应第一矩阵中的列数值;
确定任一密码字符在待存储密码中的位数;
根据任一密码字符在待存储密码中的位数确定任一密码字符对应第一矩阵中的行数值;
根据任一密码字符对应第一矩阵中的列数值及行数值确定任一密码字符对应第一矩阵中的存储位置。
则在第一种至第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
根据任一密码字符在待存储密码中的位数确定任一密码字符在第一矩阵中的行数值,包括:
判断任一密码字符在待存储密码中的位数是否超过第一矩阵的行数;
若任一密码字符在待存储密码中的位数未超过第一矩阵的行数,则将任一密码字符在待存储的密码中的位数作为任一密码字符对应第一矩阵中的行数值。
则在第一种至第四种可能的实施方式作为基础而提供的第五种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
将任一密码字符对应的加密数据存储至任一密码字符对应第一矩阵中的存储位置上之后,还包括:
将第一矩阵中任一密码字符对应的加密数据所在行的其他位置随机填充一个字符。
本发明实施例提供的终端,通过将待存储密码中的任一密码字符进行加密,得到任一密码字符对应的加密数据,并确定任一密码字符对应预先构造的用于存储待存储密码的第一矩阵中的存储位置,进而将任一密码字符对应的加密数据存储至任一密码字符对应第一矩阵中的存储位置上。由于待存储密码以加密数据的形式存储在第一矩阵中,因而可以提高密码存储的安全性。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质存储有一个或者一个以上程序,该一个或者一个以上程序被一个或者一个以上的处理器用来执行密码存储方法,该方法包括:
获取待存储密码中的任一密码字符;
将任一密码字符进行加密,得到任一密码字符对应的加密数据;
确定任一密码字符对应预先构造的用于存储待存储密码的第一矩阵中的存储位置,将任一密码字符对应的加密数据存储至任一密码字符对应第一矩阵中的存储位置上。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
获取待存储密码中的任一密码字符,包括:
检测输入焦点的当前位置是否在密码输入对话框中;
若输入焦点的当前位置在密码输入对话框中,则获取密码输入对话框中的任一字符,并将密码输入对话框中的任一字符作为获取到的待存储密码中的任一密码字符。
则在第一种可能的实施方式或第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
第一矩阵的行数为密码输入对话框中允许输入的密码的最大长度,第一矩阵的列数为随机选取的大于一的任一数值;
确定任一密码字符对应预先构造的用于存储待存储密码的第一矩阵中的存储位置,包括:
以第一矩阵的列数为阈值随机选取一个数值,并将选取的数值作为任一密码字符对应第一矩阵中的列数值;
确定任一密码字符在待存储密码中的位数;
根据任一密码字符在待存储密码中的位数确定任一密码字符对应第一矩阵中的行数值;
根据任一密码字符对应第一矩阵中的列数值及行数值确定任一密码字符对应第一矩阵中的存储位置。
则在第一种至第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
根据任一密码字符在待存储密码中的位数确定任一密码字符在第一矩阵中的行数值,包括:
判断任一密码字符在待存储密码中的位数是否超过第一矩阵的行数;
若任一密码字符在待存储密码中的位数未超过第一矩阵的行数,则将任一密码字符在待存储的密码中的位数作为任一密码字符对应第一矩阵中的行数值。
则在第一种至第四种可能的实施方式作为基础而提供的第五种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
将任一密码字符对应的加密数据存储至任一密码字符对应第一矩阵中的存储位置上之后,还包括:
将第一矩阵中任一密码字符对应的加密数据所在行的其他位置随机填充一个字符。
本发明实施例提供的计算机可读存储介质,通过将待存储密码中的任一密码字符进行加密,得到任一密码字符对应的加密数据,并确定任一密码字符对应预先构造的用于存储待存储密码的第一矩阵中的存储位置,进而将任一密码字符对应的加密数据存储至任一密码字符对应第一矩阵中的存储位置上。由于待存储密码以加密数据的形式存储在第一矩阵中,因而可以提高密码存储的安全性。
本发明实施例中提供了一种图形用户接口,该图形用户接口用在密码存储显示终端上,该执行操作的确认终端包括触摸屏显示器、存储器和用于执行一个或者一个以上的程序的一个或者一个以上的处理器;该图形用户接口包括:
获取待存储密码中的任一密码字符;
将任一密码字符进行加密,得到任一密码字符对应的加密数据;
确定任一密码字符对应预先构造的用于存储待存储密码的第一矩阵中的存储位置,将任一密码字符对应的加密数据存储至任一密码字符对应第一矩阵中的存储位置上。
本发明实施例提供的图形用户接口,通过将待存储密码中的任一密码字符进行加密,得到任一密码字符对应的加密数据,并确定任一密码字符对应预先构造的用于存储待存储密码的第一矩阵中的存储位置,进而将任一密码字符对应的加密数据存储至任一密码字符对应第一矩阵中的存储位置上。由于待存储密码以加密数据的形式存储在第一矩阵中,因而可以提高密码存储的安全性。
需要说明的是:上述实施例提供的密码存储装置在存储密码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将密码存储装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的密码存储装置与密码存储方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种密码存储方法,其特征在于,所述方法包括:
获取待存储密码中的任一密码字符;
将所述任一密码字符进行加密,得到所述任一密码字符对应的加密数据;
以第一矩阵的列数为阈值随机选取一个数值,并将选取的数值作为所述任一密码字符对应所述第一矩阵中的列数值;
确定所述任一密码字符在所述待存储密码中的位数;
根据所述任一密码字符在所述待存储密码中的位数确定所述任一密码字符对应所述第一矩阵中的行数值;
根据所述任一密码字符对应所述第一矩阵中的列数值及行数值确定所述任一密码字符对应所述第一矩阵中的存储位置,所述第一矩阵是预先构造的、用于存储所述待存储密码的矩阵,所述第一矩阵的行数为密码输入对话框中允许输入的密码的最大长度,所述第一矩阵的列数为随机选取的大于一的任一数值;
将所述任一密码字符对应的加密数据存储至所述任一密码字符对应所述第一矩阵中的存储位置上。
2.根据权利要求1所述的方法,其特征在于,所述获取待存储密码中的任一密码字符,包括:
检测输入焦点的当前位置是否在密码输入对话框中;
若所述输入焦点的当前位置在密码输入对话框中,则获取密码输入对话框中的任一字符,并将所述密码输入对话框中的任一字符作为获取到的待存储密码中的任一密码字符。
3.根据权利要求1所述的方法,其特征在于,所述根据所述任一密码字符在所述待存储密码中的位数确定所述任一密码字符在所述第一矩阵中的行数值,包括:
判断所述任一密码字符在所述待存储密码中的位数是否超过所述第一矩阵的行数;
若所述任一密码字符在所述待存储密码中的位数未超过所述第一矩阵的行数,则将所述任一密码字符在所述待存储的密码中的位数作为所述任一密码字符对应所述第一矩阵中的行数值。
4.根据权利要求1所述的方法,其特征在于,所述将所述任一密码字符对应的加密数据存储至所述任一密码字符对应所述第一矩阵中的存储位置上之后,还包括:
将所述第一矩阵中所述任一密码字符对应的加密数据所在行的其他位置随机填充一个字符。
5.一种密码存储装置,其特征在于,所述装置包括:
获取模块,用于获取待存储密码中的任一密码字符;
加密模块,用于将所述任一密码字符进行加密,得到所述任一密码字符对应的加密数据;
确定模块,用于根据所述任一密码字符在所述待存储密码中的位置,确定所述任一密码字符在第一矩阵中的位置,所述第一矩阵是预先构造的、用于存储所述待存储密码的矩阵;
存储模块,用于将所述任一密码字符对应的加密数据存储至所述任一密码字符对应所述第一矩阵中的存储位置上;
其中,所述第一矩阵的行数为密码输入对话框中允许输入的密码的最大长度,所述第一矩阵的列数为随机选取的大于一的任一数值;
所述确定模块,包括:
选取单元,用于以所述第一矩阵的列数为阈值随机选取一个数值,并将选取的数值作为所述任一密码字符对应所述第一矩阵中的列数值;
第一确定单元,用于确定所述任一密码字符在所述待存储密码中的位数;
第二确定单元,用于根据所述任一密码字符在所述待存储密码中的位数确定所述任一密码字符对应所述第一矩阵中的行数值;
第三确定单元,用于根据所述任一密码字符对应所述第一矩阵中的列数值及行数值确定所述任一密码字符对应所述第一矩阵中的存储位置。
6.根据权利要求5所述的装置,其特征在于,所述获取模块,包括:
检测单元,用于检测输入焦点的当前位置是否在密码输入对话框中;
获取单元,用于当所述输入焦点的当前位置在密码输入对话框中时,获取密码输入对话框中的任一字符,并将所述密码输入对话框中的任一字符作为获取到的待存储密码中的任一密码字符。
7.根据权利要求5所述的装置,其特征在于,所述第二确定单元,用于判断所述任一密码字符在所述待存储密码中的位数是否超过所述第一矩阵的行数;当所述任一密码字符在所述待存储密码中的位数未超过所述第一矩阵的行数时,将所述任一密码字符在所述待存储的密码中的位数作为所述任一密码字符对应所述第一矩阵中的行数值。
8.根据权利要求5所述的装置,其特征在于,所述装置,还包括:
填充模块,用于将所述第一矩阵中所述任一密码字符对应的加密数据所在行的其他位置随机填充一个字符。
CN201410307464.7A 2014-06-30 2014-06-30 密码存储方法和装置 Active CN104615954B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410307464.7A CN104615954B (zh) 2014-06-30 2014-06-30 密码存储方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410307464.7A CN104615954B (zh) 2014-06-30 2014-06-30 密码存储方法和装置

Publications (2)

Publication Number Publication Date
CN104615954A CN104615954A (zh) 2015-05-13
CN104615954B true CN104615954B (zh) 2018-09-11

Family

ID=53150393

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410307464.7A Active CN104615954B (zh) 2014-06-30 2014-06-30 密码存储方法和装置

Country Status (1)

Country Link
CN (1) CN104615954B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105975877B (zh) * 2016-07-01 2019-06-21 中国联合网络通信有限公司重庆市分公司 一种敏感文件安全存储办法
CN107977569B (zh) * 2016-10-21 2021-11-12 佛山市顺德区顺达电脑厂有限公司 登入密码保护系统
CN108009438B (zh) * 2016-10-28 2021-08-17 中移(杭州)信息技术有限公司 一种数据存储方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009548A (zh) * 2006-01-24 2007-08-01 马恒利 应用密文图技术对数据进行加密的方法
CN101226705A (zh) * 2008-01-28 2008-07-23 和舰科技(苏州)有限公司 循环扩散偏移转码加密方法
CN101304307A (zh) * 2007-05-10 2008-11-12 上海恩方信息科技有限公司 一种密码生成方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012234439A (ja) * 2011-05-06 2012-11-29 Canon Inc 画像処理装置、そのデータ管理方法及びプログラム
CN103279694B (zh) * 2013-05-31 2016-05-25 华为技术有限公司 一种文件系统的加载、保护方法及装置
CN103455764B (zh) * 2013-08-27 2016-09-14 无锡华御信息技术有限公司 一种基于文件分割合并技术的文件加密以及解密系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009548A (zh) * 2006-01-24 2007-08-01 马恒利 应用密文图技术对数据进行加密的方法
CN101304307A (zh) * 2007-05-10 2008-11-12 上海恩方信息科技有限公司 一种密码生成方法
CN101226705A (zh) * 2008-01-28 2008-07-23 和舰科技(苏州)有限公司 循环扩散偏移转码加密方法

Also Published As

Publication number Publication date
CN104615954A (zh) 2015-05-13

Similar Documents

Publication Publication Date Title
US10530921B2 (en) Method for unlocking terminal screen and terminal
CN104836664B (zh) 一种执行业务处理的方法、装置和系统
EP3200487B1 (en) Message processing method and apparatus
CN104618217B (zh) 分享资源的方法、终端、服务器及系统
CN104852885B (zh) 一种进行验证码验证的方法、装置和系统
CN104902531B (zh) 连接网络的方法、应用认证服务器、终端及路由器
CN104915091B (zh) 一种显示状态栏提示信息的方法和装置
US20170068443A1 (en) Information Display Method and Apparatus
CN107977144A (zh) 一种截屏处理方法及移动终端
CN104901805B (zh) 一种身份鉴权方法、装置和系统
CN106709347B (zh) 应用运行的方法及装置
CN105912919B (zh) 一种指纹解锁方法及终端
CN108809906A (zh) 数据处理方法、系统及装置
CN104104656B (zh) 找回帐号的方法及装置
CN107590397A (zh) 一种显示内嵌网页的方法和装置
CN106533917B (zh) 关系链处理方法、装置及系统
CN107656793A (zh) 一种应用程序界面切换方法及移动终端
CN103455751B (zh) 一种密码提示的生成方法、装置和终端设备
CN105940368B (zh) 一种图案锁的解锁方法及终端
CN104615954B (zh) 密码存储方法和装置
CN107104930A (zh) 一种设置查看权限的方法、装置和系统
CN104753672B (zh) 账号授权的方法、装置及终端
CN108229139A (zh) 一种密码输入方法及移动终端
CN107835297A (zh) 信息更新方法及移动终端
CN107590372A (zh) 触摸屏加密解锁方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant