CN112507326B - 基于sm3杂凑算法的密码信息加密方法、装置以及计算机设备 - Google Patents

基于sm3杂凑算法的密码信息加密方法、装置以及计算机设备 Download PDF

Info

Publication number
CN112507326B
CN112507326B CN202011483810.9A CN202011483810A CN112507326B CN 112507326 B CN112507326 B CN 112507326B CN 202011483810 A CN202011483810 A CN 202011483810A CN 112507326 B CN112507326 B CN 112507326B
Authority
CN
China
Prior art keywords
information
encryption
character
hash algorithm
password information
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
CN202011483810.9A
Other languages
English (en)
Other versions
CN112507326A (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.)
Ping An International Smart City Technology Co Ltd
Original Assignee
Ping An International Smart City Technology 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 Ping An International Smart City Technology Co Ltd filed Critical Ping An International Smart City Technology Co Ltd
Priority to CN202011483810.9A priority Critical patent/CN112507326B/zh
Publication of CN112507326A publication Critical patent/CN112507326A/zh
Application granted granted Critical
Publication of CN112507326B publication Critical patent/CN112507326B/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/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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例公开了一种基于SM3杂凑算法的密码信息加密方法、装置、计算机设备以及存储介质,本申请涉及信息安全技术领域,其方法包括:若检测到调用安全键盘的指令,生成所述安全键盘;依次获取用户通过所述安全键盘输入的密码信息的每一个字符信息;基于SM3杂凑算法和第一预设规则对每次获取到的所述字符信息进行第一次加密以生成加密字符;基于SM3杂凑算法和第二预设规则对所述密码信息的所有字符信息所对应的加密字符进行第二次加密,以生成与所述密码信息对应的加密信息。本发明实施例提高了用户输入的密码信息的安全性。

Description

基于SM3杂凑算法的密码信息加密方法、装置以及计算机设备
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于SM3杂凑算法的密码信息加密方法、装置、计算机设备以及存储介质。
背景技术
随着政务领域系统安全高度提升,近年来国家有关机关站在国家安全和长远战略的高度提出了推动国密算法应用实施、加强行业安全可控的要求,摆脱对国外技术和产品的过度依赖,建设行业网络安全环境,增强政务信息系统的“安全可控”能力显得尤为必要和迫切。现有技术中对密码信息进行的加密的方法包括非对称安全加密算法包括SM2或RSA加密算法等,然而SM3杂凑算法是中国国家密码管理局2010年公布的中国商用密码杂凑算法标准,是安全性相对较高的加密算法,通过SM3杂凑算法进行加密可进一步提高安全性。
另外在Android系统移动端应用中,由于Android系统的开源性,不同的手机厂商会做各自的手机系统定制化的开发,所以自带的输入法各有不同,当在使用App时调用Android系统自带(或用户默认设置的)的输入法时,这将使得在用户输入的数据于数据的第一入口裸露在攻击者面前,所用到的移动App键盘上存在诸多安全隐患,急需提供一种无需依赖App自带键盘的自定义键盘来提高用户输入密码信息时的安全性。
发明内容
本发明实施例提供了一种基于SM3杂凑算法的密码信息加密方法、装置、计算机设备以及存储介质,旨在解决相关技术中对密码信息加密的安全程度不高问题。
第一方面,本发明实施例提供了一种基于SM3杂凑算法的密码信息加密方法,其包括:若检测到调用安全键盘的指令,生成所述安全键盘;依次获取用户通过所述安全键盘输入的密码信息的每一个字符信息;基于SM3杂凑算法和第一预设规则对每次获取到的所述字符信息进行第一次加密以生成加密字符;基于SM3杂凑算法和第二预设规则对所述密码信息的所有字符信息所对应的加密字符进行第二次加密,以生成与所述密码信息对应的加密信息。
第二方面,本发明实施例提供了一种基于SM3杂凑算法的密码信息加密装置,其包括:生成单元,用于若检测到调用安全键盘的指令,生成所述安全键盘;获取单元,用于依次获取用户通过所述安全键盘输入的密码信息的每一个字符信息;第一加密单元,用于基于SM3杂凑算法和第一预设规则对每次获取到的所述字符信息进行第一次加密以生成加密字符;第二加密单元,用于基于SM3杂凑算法和第二预设规则对所述密码信息的所有字符信息所对应的加密字符进行第二次加密,以生成与所述密码信息对应的加密信息。
第三方面,本发明实施例提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的方法。
第四方面,本发明实施例提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现如上所述的方法。
本发明实施例提供了一种基于SM3杂凑算法的密码信息加密方法、装置、计算机设备以及存储介质,基于所述方法,若检测到用户发出的调用安全键盘的指令,则生成所述安全键盘,依次获取用户通过所述安全键盘输入的密码信息的每一个字符信息,基于SM3杂凑算法和第一预设规则对每次获取到的所述字符信息进行第一次加密以生成加密字符,并基于SM3杂凑算法和第二预设规则对所述密码信息的所有字符信息所对应的加密字符进行第二次加密,以生成与所述密码信息对应的加密信息。本申请实施例的技术方案,在安全键盘中通过SM3杂凑算法对用户输入的密码信息进行二次加密以生成加密信息,提高了用户输入的密码信息的安全性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于SM3杂凑算法的密码信息加密方法的流程示意图;
图2为本发明实施例提供的基于SM3杂凑算法的密码信息加密方法的一子流程示意图;
图3为本发明实施例提供的基于SM3杂凑算法的密码信息加密方法的另一子流程示意图;
图4为本发明实施例提供的基于SM3杂凑算法的密码信息加密方法的另一流程示意图;
图5为本发明实施例提供的基于SM3杂凑算法的密码信息加密方法的又一子流程示意图;
图6为本发明实施例提供的基于SM3杂凑算法的密码信息加密方法的又一流程示意图;
图7为本发明基于SM3杂凑算法的密码信息加密装置的示意性框图;
图8为本发明基于SM3杂凑算法的密码信息加密装置的第一加密单元的示意性框图;
图9为本发明基于SM3杂凑算法的密码信息加密装置的第二加密单元的示意性框图;
图10为本发明基于SM3杂凑算法的密码信息加密装置的另一示意性框图;
图11为本发明基于SM3杂凑算法的密码信息加密装置的生成单元的示意性框图;
图12为本发明基于SM3杂凑算法的密码信息加密装置的又一示意性框图;以及
图13为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的基于SM3杂凑算法的密码信息加密方法的流程示意图。本发明实施例的基于SM3杂凑算法的密码信息加密方法可应用于终端,例如手机、平板电脑等移动智能终端,通过安装于所述终端上的软件来实现基于SM3杂凑算法的密码信息加密方法,从而为用户所输入的密码信息进行加密以确保用户信息安全。下面以基于SM3杂凑算法的密码信息加密方法应用于Android系统的手机终端为例对所述方法进行详细说明。
如图1所示,本发明实施例提供的基于SM3杂凑算法的密码信息加密方法的流程示意图,包括以下步骤S110-S140:
S110、若检测到调用安全键盘的指令,生成所述安全键盘。
在一实施例中,若检测到调用安全键盘的指令,生成所述安全键盘以供用户进行密码信息输入。当用户通过手机等移动智能终端进行需要用户账号和密码信息进行登录的操作时,例如,进行手机银行的登录时,则需要输入登录密码等保密性很强的信息,当用户点击密码输入框时则触发了键盘的调用,在本实施例中所调用的键盘为安全键盘,也即此时所生成的键盘为安全键盘,具体为自绘随机键盘,避免使用系统自带键盘或Keyboard组件,以增加密码信息输入时的安全性。
S120、依次获取用户通过所述安全键盘输入的密码信息的每一个字符信息。
在一实施例中,当用户于所述安全键盘中输入密码信息,则依次获取用户通过所述安全键盘输入的密码信息的每一个字符信息,以将密码信息进行加密处理,用户于所述安全键盘上输入的密码信息的每一个字符信息在终端的密码输入框中显示为黑点。
S130、基于SM3杂凑算法和第一预设规则对每次获取到的所述字符信息进行第一次加密以生成加密字符。
在一实施例中,当获取用户通过所述安全键盘输入的密码信息的每一个字符信息,则基于SM3杂凑算法和第一预设规则对每次获取到的所述字符信息进行第一次加密以生成加密字符。通过实时对每一个字符信息进行加密,可增强密码信息的安全性。
S140、基于SM3杂凑算法和第二预设规则对所述密码信息的所有字符信息所对应的加密字符进行第二次加密,以生成与所述密码信息对应的加密信息。
在一实施例中,当所述字符信息进行第一次加密并已生成加密字符,则基于SM3杂凑算法和第二预设规则对所述密码信息的所有字符信息所对应的加密字符进行第二次加密,以生成与所述密码信息对应的加密信息。
在一实施例如本实施例中,如图2所示,步骤S130的具体步骤包括S131-S133。
S131、每次获取到所述字符信息,将所述字符信息作为待处理字符。
S132、根据第一预设规则将所述待处理字符转换为协商字符串。
S133、于so文件中执行SM3杂凑算法对所述协商字符串进行加密处理以生成加密字符。
在一实施例中,当获取用户通过所述安全键盘输入的密码信息的每一个字符信息,所述字符信息为0-9的任意一数字,根据每次获取到所述字符信息,将所述字符信息作为待处理字符。根据第一预设规则将所述待处理字符转换为协商字符串,所述协商字符串可为两位英文字母。例如若输入的字符信息为“0”,则获取所述字符信息“0”作为待处理字符,将所述字符信息“0”转换成协商字符串“fu”,若输入的字符信息为“1”,则获取所述字符信息“1”作为待处理字符,将所述字符信息“1”转换成协商字符串“pt”,所述字符信息与所述协商字符串一一对应。当获取待处理字符的协商字符串,则于so文件中执行SM3杂凑算法对每个所述协商字符串进行加密处理以生成加密字符,所述协商字符串与所述加密字符一一对应。具体地,若获取待处理字符的协商字符串为“pt”,则于so文件中执行SM3杂凑算法对协商字符串“pt”进行加密处理,生成与协商字符串“pt”相对应的加密字符:
“8688BABBE9F9EF9F369FB9A02C9616E91F2A48EA271D0818D0C2CD2CFD6EC9B1”。
例如,待处理字符、协商字符串以及加密字符的对应关系如表1所示。
表1
在一实施例如本实施例中,如图3所示,步骤S140的具体步骤包括S141-S143。
S141、判断已生成所述加密字符的所述字符信息的数量是否达到预设阈值。
S142、若已生成所述加密字符的所述字符信息的数量达到预设阈值,根据第二预设规则将所有所述加密字符进行拼装以生成拼装信息。
S143、于so文件中执行SM3杂凑算法对所述拼装信息进行加密以生成与所述密码信息对应的加密信息。
在一实施例中,若于so文件中执行SM3杂凑算法对所述协商字符串进行加密处理以生成加密字符,判断已生成所述加密字符的所述字符信息的数量是否达到预设阈值。所述预设阈值为两个及以上个数,例如所述预设阈值为4位数字或6位数字。若已生成所述加密字符的所述字符信息的数量达到预设阈值,则表明用户于安全键盘中已将密码信息输入完毕,且已获得所有字符信息通过第一次加密所获取的与字符信息一一对应的加密字符,则根据第二预设规则将所有所述加密字符进行拼装以生成拼装信息。若已生成所述加密字符的所述字符信息的数量未达到预设阈值,则继续等待直到已生成所述加密字符的所述字符信息的数量达到预设阈值。在一实施例中,所述第二预设规则为将所有所述加密字符依照于所述安全键盘上输入的顺序依次首尾相连进行拼装,例如所述字符信息的所述预设阈值为6位数字,用户所输入的密码信息为“111111”,由于待处理字符“1”经第一次加密之后生成的加密字符为:
“8688BABBE9F9EF9F369FB9A02C9616E91F2A48EA271D0818D0C2CD2CFD6EC9B1”,将6个加密字符进行首尾相连拼装后生成与密码信息“111111”所对应的加密信息,所述加密信息为:
8688BABBE9F9EF9F369FB9A02C9616E91F2A48EA271D0818D0C2CD2CFD6EC9B18688BABBE9F9EF9F369FB9A02C9616E91F2A48EA271D0818D0C2CD2CFD6EC9B18688BABBE9F9EF9 F369FB9A02C9616E91F2A48EA271D0818D0C2CD2CFD6EC9B18688BABBE9F9EF9F369FB9A02C9616E91F2A48EA271D0818D0C2CD2CFD6EC9B18688BABBE9F9EF9F369FB9A02C9616E91F2A48E A271D0818D0C2CD2CFD6EC9B18688BABBE9F9EF9F369FB9A02C9616E91F2A48EA271D0818D0C2CD2CFD6EC9B1”。
在一实施例如本实施例中,如图4所示,步骤S140之后还包括S150-S170:
S150、获取所述用户的账号信息,判断服务器端的预设数据库中是否存在所述账号信息所对应的标准密码信息的加密信息。
S160、若服务器端的预设数据库中不存在所述账号信息所对应的标准密码信息的加密信息,将当前生成的所述密码信息的加密信息作为标准密码信息的加密信息存储于所述预设数据库中。
S170、若服务器端的预设数据库中存在所述账号信息所对应的标准密码信息的加密信息,将当前生成的所述密码信息的加密信息与所述预设数据库中的所述标准密码信息的加密信息进行匹配以对所述密码信息进行验证。
在一实施例中,当获取与所述密码信息对应的加密信息之后,获取所述用户的账号信息,判断服务器端的预设数据库中是否存在所述账号信息所对应的标准密码信息的加密信息,由于所述密码信息与经过第一次加密和第二次加密之后获得的加密信息为一一对应关系,当对标准密码信息的加密信息存储于所述预设数据库中,可将标准密码信息所对应的加密信息作为于安全键盘上输入的秘密信息的正确性进行验证。若服务器端的预设数据库中不存在所述账号信息所对应的标准密码信息的加密信息,则将当前生成的所述密码信息的加密信息作为标准密码信息的加密信息存储于所述预设数据库中。若服务器端的预设数据库中存在所述账号信息所对应的标准密码信息的加密信息,则将当前生成的所述密码信息的加密信息与所述预设数据库中的所述标准密码信息的加密信息进行匹配以对所述密码信息进行验证。例如,若用户的账号信息所设立的标准密码信息为“111111”,并将该标准密码信息加密后生成的加密信息存储于服务器端的预设数据库中。若用户当前于安全键盘上输入的密码信息为“101111”,输入的密码信息“101111”经第一次加密和第二次加密之后获得加密信息为:“8688BABBE9F9EF9F369FB9A02C9616E91F2A48EA271D0818D0C2CD2C FD6EC9B17856GFRT2645JRG6489GEDFY2589YT496G1QDL07RD563PLSC42THD3024HLN25G7868 8BABBE9F9EF9F369FB9A02C9616E91F2A48EA271D0818D0C2CD2CFD6EC9B18688BABBE9F9EF9F369FB9A02C9616E91F2A48EA271D0818D0C2CD2CFD6EC9B18688BABBE9F9EF9F369FB9A02C9 616E91F2A48EA271D0818D0C2CD2CFD6EC9B18688BABBE9F9EF9F369FB9A02C9616E91F2A48EA271D0818D0C2CD2CFD6EC9B1”,将当前生成的所述密码信息的加密信息与所述预设数据库中的所述标准密码信息的加密信息进行匹配验证,用户当前于安全键盘上输入的密码信息“101111”所对应的加密信息与存储于服务器端的预设数据库中的标准密码信息对应的加密信息不匹配,则用户当前于安全键盘上输入的密码信息“101111”为错误密码。通过将输入的密码信息的加密信息与存储于所述账号信息所对应的标准密码信息的加密信息进行匹配以对所述密码信息进行验证,提高了对密码信息验证的精确度,增加密码信息被破解的难度,降低密码泄露的风险。
在一实施例如本实施例中,如图5所示,实现步骤S110的具体步骤包括S111-S114。
S111、通过布局文件的方式加载待显示按键的UI组件;
S112、建立list集合以存放待显示按键所对应的数据;
S113、加载所述数据至所述list集合中,其中所述list集合中的数据序列为随机生成序列;
S114、将所述list集合中的所述数据渲染到所述UI组件上,以生成所述安全键盘。
在一实施例中,通过布局文件的方式加载待显示按键的UI组件,建立list集合以存放待显示按键所对应的数据,例如待显示按键所对应的数据为0至9,加载所述数据至所述list集合中,其中所述list集合中的数据序列为随机生成序列,将所述list集合中的所述数据渲染到所述UI组件上,以生成所述安全键盘。安全键盘为自绘随机键盘,能够实现自定义键盘的显示样式,比较灵活;安全键盘中的数据序列为随机生成序列,使得无法根据坐标位置获取输入的密码信息,使得安全键盘可以有效防止键盘劫持、记录用户敲击位置等多种黑客攻击,增加了密码信息输入时的安全性。
在一实施例如本实施例中,步骤S130之前还包括步骤:调用预设的加固软件对所述so文件进行加固。
在一实施例中,so文件存放于aar包中,基于SM3杂凑算法的加密过程在so文件中执行,通过调用预设的加固软件如娜迦加固或爱加密等第三方加固软件对so文件进行加固以防止反编译,增加被破解的难度,同时降低密码信息泄露的风险。
在一实施例如本实施例中,如图6所示,步骤S110的步骤之后包括S180-S190,还包括:
S180、检测预设的防止截屏和录屏功能是否被启用;
S190、若所述防止截屏和录屏功能未启用,通过调用系统API接口启动所述防止截屏和录屏功能。
在一实施例中,生成所述安全键盘后,检测Android系统中预设的防止截屏和录屏功能是否被启用,若所述防止截屏和录屏功能未启用,通过调用系统API接口启动所述防止截屏和录屏功能,对于安全键盘上输入的密码信息的安全性做进一步的防护。
本发明所提供的所述方法,通过生成安全键盘以供用户输出密码信息可对用户的密码信息提供第一层安全保障,而在用户输入密码信息的过程中依次获取用户通过所述安全键盘输入的密码信息的每一个字符信息,基于SM3杂凑算法和第一预设规则对每次获取到的所述字符信息实时进行第一次加密以生成加密字符,并在用户完成完整密码信息的输入后,基于SM3杂凑算法和第二预设规则对所述密码信息的所有字符信息所对应的加密字符进行第二次加密,以生成与所述密码信息对应的加密信息。本申请实施例的技术方案,在安全键盘中通过SM3杂凑算法对用户输入的密码信息进行二次加密以生成加密信息,全面提高了用户输入的密码信息的安全性。
本申请可应用于智慧政务/智慧城管/智慧社区/智慧安防/智慧物流/智慧医疗/智慧教育/智慧环保/智慧交通场景中,例如在以上场景中需要用户输入密码信息以验证个人帐号/身份信息时可采用以上方式以密码信息进行加密,以加强对个人信息安全的保护,从而推动智慧城市的建设。
图7是本发明实施例提供的基于SM3杂凑算法的密码信息加密装置200的示意性框图。如图7所示,所述装置包括:生成单元210、获取单元220、第一加密单元230、第一加密单元230以及第二加密单元240。
所述生成单元210用于若检测到调用安全键盘的指令,生成所述安全键盘;
所述获取单元220用于依次获取用户通过所述安全键盘输入的密码信息的每一个字符信息;
所述第一加密单元230用于基于SM3杂凑算法和第一预设规则对每次获取到的所述字符信息进行第一次加密以生成加密字符;
所述第二加密单元240用于基于SM3杂凑算法和第二预设规则对所述密码信息的所有字符信息所对应的加密字符进行第二次加密,以生成与所述密码信息对应的加密信息。
在某些实施例,例如本实施例中,参见图8,所述第一加密单元230包括获取子单元231、转换子单元232以及第一加密子单元233。
所述获取子单元231用于每次获取到所述字符信息,将所述字符信息作为待处理字符;
所述转换子单元232用于根据第一预设规则将所述待处理字符转换为协商字符串;
所述第一加密子单元233用于于so文件中执行SM3杂凑算法对所述协商字符串进行加密处理以生成加密字符。
在某些实施例,例如本实施例中,参见图9,所述第二加密单元240包括判断子单元241、拼装子单元242以及第二加密子单元243。
所述判断子单元241用于判断已生成所述加密字符的所述字符信息的数量是否达到预设阈值;
所述拼装子单元242用于若已生成所述加密字符的所述字符信息的数量达到预设阈值,根据第二预设规则将所有所述加密字符进行拼装以生成拼装信息;
所述第二加密子单元243用于于so文件中执行SM3杂凑算法对所述拼装信息进行加密以生成与所述密码信息对应的加密信息。
在某些实施例,例如本实施例中,参见图10,所述装置还包括获取判断单元250、存储单元260以及匹配验证单元270。
所述获取判断单元250用于获取所述用户的账号信息,判断服务器端的预设数据库中是否存在所述账号信息所对应的标准密码信息的加密信息;
所述存储单元260用于若服务器端的预设数据库中不存在所述账号信息所对应的标准密码信息的加密信息,将当前生成的所述密码信息的加密信息作为标准密码信息的加密信息存储于所述预设数据库中;
所述匹配验证单元270用于若服务器端的预设数据库中存在所述账号信息所对应的标准密码信息的加密信息,将当前生成的所述密码信息的加密信息与所述预设数据库中的所述标准密码信息的加密信息进行匹配以对所述密码信息进行验证。
在某些实施例,例如本实施例中,参见图11,所述生成单元210还包括第一加载子单元211、建立存放子单元212、第二加载子单元213以及渲染子单元214。
所述第一加载子单元211用于通过布局文件的方式加载待显示按键的UI组件;
所述建立存放子单元212用于建立list集合以存放待显示按键所对应的数据;
所述第二加载子单元213用于加载所述数据至所述list集合中,其中所述list集合中的数据序列为随机生成序列;
所述渲染子单元214用于将所述list集合中的所述数据渲染到所述UI组件上,以生成所述安全键盘。
在某些实施例,例如本实施例中,所述装置还包括:调用加固单元,调用预设的加固软件对所述so文件进行加固。
在某些实施例,例如本实施例中,参见图12,所述装置还包括检测单元280以及调用启动单元290。
所述检测单元280用于检测预设的防止截屏和录屏功能是否被启用;
所述调用启动单元290用于若所述防止截屏和录屏功能未启用,通过调用系统API接口启动所述防止截屏和录屏功能。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述基于SM3杂凑算法的密码信息加密装置200和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述基于SM3杂凑算法的密码信息加密装置200可以实现为一种计算机程序的形式,该计算机程序可以在如图13所示的计算机设备300上运行。
请参阅图13,图13是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备300为终端,终端可以是智能手机、平板电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。
参阅图13,该计算机设备300包括通过系统总线301连接的处理器302、存储器和接口307,其中,存储器可以包括非易失性存储介质303和内存储器304。
该非易失性存储介质303可存储操作系统3031和计算机程序3032。该计算机程序3032被执行时,可使得处理器302执行一种基于SM3杂凑算法的密码信息加密方法。
该处理器302用于提供计算和控制能力,以支撑整个计算机设备300的运行。
该内存储器304为非易失性存储介质303中的计算机程序3032的运行提供环境,该计算机程序3032被处理器302执行时,可使得处理器302执行一种基于SM3杂凑算法的密码信息加密方法。
该接口305用于与其它设备进行通信。本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备300的限定,具体的计算机设备300可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器302用于运行存储在存储器中的计算机程序3032,以实现如下步骤:若检测到调用安全键盘的指令,生成所述安全键盘;依次获取用户通过所述安全键盘输入的密码信息的每一个字符信息;基于SM3杂凑算法和第一预设规则对每次获取到的所述字符信息进行第一次加密以生成加密字符;基于SM3杂凑算法和第二预设规则对所述密码信息的所有字符信息所对应的加密字符进行第二次加密,以生成与所述密码信息对应的加密信息。
在某些实施例,例如本实施例中,处理器302在实现所述基于SM3杂凑算法和第一预设规则对每次获取到的所述字符信息进行第一次加密以生成加密字符的步骤时,具体实现如下步骤:每次获取到所述字符信息,将所述字符信息作为待处理字符;根据第一预设规则将所述待处理字符转换为协商字符串;于so文件中执行SM3杂凑算法对所述协商字符串进行加密处理以生成加密字符。
在某些实施例,例如本实施例中,处理器302在实现所述基于SM3杂凑算法和第二预设规则对所述密码信息的所有字符信息所对应的加密字符进行第二次加密,以生成与所述密码信息对应的加密信息步骤时,具体实现如下步骤:判断已生成所述加密字符的所述字符信息的数量是否达到预设阈值;若已生成所述加密字符的所述字符信息的数量达到预设阈值,根据第二预设规则将所有所述加密字符进行拼装以生成拼装信息;于so文件中执行SM3杂凑算法对所述拼装信息进行加密以生成与所述密码信息对应的加密信息。
在某些实施例,例如本实施例中,处理器302在实现所述基于SM3杂凑算法和第二预设规则对所述密码信息的所有字符信息所对应的加密字符进行第二次加密,以生成与所述密码信息对应的加密信息的步骤之后,还包括步骤:获取所述用户的账号信息,判断服务器端的预设数据库中是否存在所述账号信息所对应的标准密码信息的加密信息;若服务器端的预设数据库中不存在所述账号信息所对应的标准密码信息的加密信息,将当前生成的所述密码信息的加密信息作为标准密码信息的加密信息存储于所述预设数据库中;若服务器端的预设数据库中存在所述账号信息所对应的标准密码信息的加密信息,将当前生成的所述密码信息的加密信息与所述预设数据库中的所述标准密码信息的加密信息进行匹配以对所述密码信息进行验证。
在某些实施例,例如本实施例中,处理器302在实现所述若检测到调用安全键盘的指令,生成所述安全键盘的步骤时,还包括具体实现如下步骤:通过布局文件的方式加载待显示按键的UI组件;建立list集合以存放待显示按键所对应的数据;加载所述数据至所述list集合中,其中所述list集合中的数据为随机生成序列;将所述list集合中的所述数据渲染到所述UI组件上,以生成所述安全键盘。
在某些实施例,例如本实施例中,处理器302在实现所述基于SM3杂凑算法和第一预设规则对每次获取到的所述字符信息进行第一次加密以生成加密字符的步骤之前,具体实现还包括如下步骤:调用预设的加固软件对所述so文件进行加固。
在某些实施例,例如本实施例中,处理器302在实现所述若检测到调用安全键盘的指令,生成所述安全键盘的步骤之后,具体实现还包括如下步骤:检测预设的防止截屏和录屏功能是否被启用;若所述防止截屏和录屏功能未启用,通过调用系统API接口启动所述防止截屏和录屏功能。
应当理解,在本申请实施例中,处理器302可以是中央处理单元(CentralProcessing Unit,CPU),该处理器302还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有多个计算机程序,所述多个计算机程序当分别被多个处理器执行时可共同实现上述的步骤基于SM3杂凑算法的密码信息加密方法的各种实施例。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (7)

1.一种基于SM3杂凑算法的密码信息加密方法,其特征在于,包括:
若检测到调用安全键盘的指令,生成所述安全键盘;
依次获取用户通过所述安全键盘输入的密码信息的每一个字符信息;
基于SM3杂凑算法和第一预设规则对每次获取到的所述字符信息进行第一次加密以生成加密字符;
基于SM3杂凑算法和第二预设规则对所述密码信息的所有字符信息所对应的加密字符进行第二次加密,以生成与所述密码信息对应的加密信息;
所述基于SM3杂凑算法和第一预设规则对每次获取到的所述字符信息进行第一次加密以生成加密字符的步骤包括:
每次获取到所述字符信息,将所述字符信息作为待处理字符;
根据第一预设规则将所述待处理字符转换为协商字符串;
于so文件中执行SM3杂凑算法对所述协商字符串进行加密处理以生成加密字符;
所述基于SM3杂凑算法和第二预设规则对所述密码信息的所有字符信息所对应的加密字符进行第二次加密,以生成与所述密码信息对应的加密信息的步骤包括:
判断已生成所述加密字符的所述字符信息的数量是否达到预设阈值;
若已生成所述加密字符的所述字符信息的数量达到预设阈值,根据第二预设规则将所有所述加密字符进行拼装以生成拼装信息;
于so文件中执行SM3杂凑算法对所述拼装信息进行加密以生成与所述密码信息对应的加密信息;
所述基于SM3杂凑算法和第二预设规则对所述密码信息的所有字符信息所对应的加密字符进行第二次加密,以生成与所述密码信息对应的加密信息的步骤之后,所述方法还包括:
获取所述用户的账号信息,判断服务器端的预设数据库中是否存在所述账号信息所对应的标准密码信息的加密信息;
若服务器端的预设数据库中不存在所述账号信息所对应的标准密码信息的加密信息,将当前生成的所述密码信息的加密信息作为标准密码信息的加密信息存储于所述预设数据库中;
若服务器端的预设数据库中存在所述账号信息所对应的标准密码信息的加密信息,将当前生成的所述密码信息的加密信息与所述预设数据库中的所述标准密码信息的加密信息进行匹配以对所述密码信息进行验证。
2.如权利要求1所述的基于SM3杂凑算法的密码信息加密方法,其特征在于,所述若检测到调用安全键盘的指令,生成所述安全键盘的步骤包括:
通过布局文件的方式加载待显示按键的UI组件;
建立list集合以存放待显示按键所对应的数据;
加载所述数据至所述list集合中,其中所述list集合中的数据为随机生成的序列;
将所述list集合中的所述数据渲染到所述UI组件上,以生成所述安全键盘。
3.如权利要求1所述的基于SM3杂凑算法的密码信息加密方法,其特征在于,所述基于SM3杂凑算法和第一预设规则对每次获取到的所述字符信息进行第一次加密以生成加密字符的步骤之前还包括:
调用预设的加固软件对所述so文件进行加固。
4.如权利要求1所述的基于SM3杂凑算法的密码信息加密方法,其特征在于,所述若检测到调用安全键盘的指令,生成所述安全键盘的步骤之后,还包括:
检测预设的防止截屏和录屏功能是否被启用;
若所述防止截屏和录屏功能未启用,通过调用系统API接口启动所述防止截屏和录屏功能。
5.一种基于SM3杂凑算法的密码信息加密装置,其特征在于,包括:
生成单元,用于若检测到调用安全键盘的指令,生成所述安全键盘;
获取单元,用于依次获取用户通过所述安全键盘输入的密码信息的每一个字符信息;
第一加密单元,用于基于SM3杂凑算法和第一预设规则对每次获取到的所述字符信息进行第一次加密以生成加密字符;
第二加密单元,用于基于SM3杂凑算法和第二预设规则对所述密码信息的所有字符信息所对应的加密字符进行第二次加密,以生成与所述密码信息对应的加密信息;
所述第一加密单元具体用于:
获取子单元,用于每次获取到所述字符信息,将所述字符信息作为待处理字符;
述转换子单元,用于根据第一预设规则将所述待处理字符转换为协商字符串;
第一加密子单元,用于于so文件中执行SM3杂凑算法对所述协商字符串进行加密处理以生成加密字符;
所述第二加密单元具体用于:
判断子单元,用于判断已生成所述加密字符的所述字符信息的数量是否达到预设阈值;
拼装子单元,用于若已生成所述加密字符的所述字符信息的数量达到预设阈值,根据第二预设规则将所有所述加密字符进行拼装以生成拼装信息;
第二加密子单元,用于于so文件中执行SM3杂凑算法对所述拼装信息进行加密以生成与所述密码信息对应的加密信息;
所述基于SM3杂凑算法的密码信息加密装置还包括:
获取判断单元,用于获取所述用户的账号信息,判断服务器端的预设数据库中是否存在所述账号信息所对应的标准密码信息的加密信息;
存储单元,用于若服务器端的预设数据库中不存在所述账号信息所对应的标准密码信息的加密信息,将当前生成的所述密码信息的加密信息作为标准密码信息的加密信息存储于所述预设数据库中;
匹配验证单元,用于若服务器端的预设数据库中存在所述账号信息所对应的标准密码信息的加密信息,将当前生成的所述密码信息的加密信息与所述预设数据库中的所述标准密码信息的加密信息进行匹配以对所述密码信息进行验证。
6.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-4中任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现如权利要求1-4中任一项所述的方法。
CN202011483810.9A 2020-12-16 2020-12-16 基于sm3杂凑算法的密码信息加密方法、装置以及计算机设备 Active CN112507326B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011483810.9A CN112507326B (zh) 2020-12-16 2020-12-16 基于sm3杂凑算法的密码信息加密方法、装置以及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011483810.9A CN112507326B (zh) 2020-12-16 2020-12-16 基于sm3杂凑算法的密码信息加密方法、装置以及计算机设备

Publications (2)

Publication Number Publication Date
CN112507326A CN112507326A (zh) 2021-03-16
CN112507326B true CN112507326B (zh) 2023-11-28

Family

ID=74972432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011483810.9A Active CN112507326B (zh) 2020-12-16 2020-12-16 基于sm3杂凑算法的密码信息加密方法、装置以及计算机设备

Country Status (1)

Country Link
CN (1) CN112507326B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468620B (zh) * 2021-07-21 2022-09-06 赞同科技股份有限公司 安全键盘的实现方法与装置
CN113806730B (zh) * 2021-09-18 2024-03-08 北京安天网络安全技术有限公司 一种安全密码输入方法、系统、设备及介质
CN114005201A (zh) * 2021-10-26 2022-02-01 珠海格力电器股份有限公司 门锁控制方法、装置、电子设备及存储介质
CN114911356B (zh) * 2022-03-30 2024-07-23 中金金融认证中心有限公司 一种基于鸿蒙系统的密码输入的方法和系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106355088A (zh) * 2015-07-15 2017-01-25 纬创资通股份有限公司 帐号管理应用程序的强固方法以及使用该方法的装置
CN106506158A (zh) * 2016-12-29 2017-03-15 上海众人网络安全技术有限公司 一种基于白盒的加密方法及系统
CN110378139A (zh) * 2019-07-25 2019-10-25 江苏芯盛智能科技有限公司 一种数据密钥保护方法、系统及电子设备和存储介质
CN110399704A (zh) * 2019-06-20 2019-11-01 平安科技(深圳)有限公司 更改账号密码的方法、装置、计算机设备和存储介质
CN111241533A (zh) * 2020-01-08 2020-06-05 深圳壹账通智能科技有限公司 基于区块链的密码管理方法、装置及计算机可读存储介质
CN111739200A (zh) * 2020-06-19 2020-10-02 广东工业大学 一种指纹电子锁的加密、解密认证方法和指纹电子锁
CN112035827A (zh) * 2020-11-03 2020-12-04 腾讯科技(深圳)有限公司 密码数据处理方法、装置、设备以及可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106355088A (zh) * 2015-07-15 2017-01-25 纬创资通股份有限公司 帐号管理应用程序的强固方法以及使用该方法的装置
CN106506158A (zh) * 2016-12-29 2017-03-15 上海众人网络安全技术有限公司 一种基于白盒的加密方法及系统
CN110399704A (zh) * 2019-06-20 2019-11-01 平安科技(深圳)有限公司 更改账号密码的方法、装置、计算机设备和存储介质
CN110378139A (zh) * 2019-07-25 2019-10-25 江苏芯盛智能科技有限公司 一种数据密钥保护方法、系统及电子设备和存储介质
CN111241533A (zh) * 2020-01-08 2020-06-05 深圳壹账通智能科技有限公司 基于区块链的密码管理方法、装置及计算机可读存储介质
CN111739200A (zh) * 2020-06-19 2020-10-02 广东工业大学 一种指纹电子锁的加密、解密认证方法和指纹电子锁
CN112035827A (zh) * 2020-11-03 2020-12-04 腾讯科技(深圳)有限公司 密码数据处理方法、装置、设备以及可读存储介质

Also Published As

Publication number Publication date
CN112507326A (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
CN112507326B (zh) 基于sm3杂凑算法的密码信息加密方法、装置以及计算机设备
KR102493744B1 (ko) 생체 특징에 기초한 보안 검증 방법, 클라이언트 단말, 및 서버
KR101883156B1 (ko) 인증 시스템 및 방법과 이를 수행하기 위한 사용자 단말, 인증 서버 및 서비스 서버
CN112425114B (zh) 受公钥-私钥对保护的密码管理器
JP5330567B2 (ja) コンピュータ実施認証インターフェイスシステム
US9407632B2 (en) Transformation rules for one-time passwords
CN112425118B (zh) 公钥-私钥对账户登录和密钥管理器
CN101939754B (zh) 使用混合匹配的手指感测设备及相关方法
CN112514321B (zh) 共享秘密建立
CN101971182B (zh) 颁发证书的手指感测设备及相关方法
Jung et al. An improved and secure anonymous biometric-based user authentication with key agreement scheme for the integrated epr information system
CN109922027B (zh) 一种可信身份认证方法、终端及存储介质
US20240259217A1 (en) Provisioning trusted execution environment(s) based on chain of trust including platform
US10362023B2 (en) Authentication information encryption server apparatuses, systems non-transitory computer readable mediums and methods for improving password security
CN108062461A (zh) 一种软件授权方法、装置及系统
CN112257086A (zh) 一种用户隐私数据保护方法及电子设备
Marforio et al. Hardened setup of personalized security indicators to counter phishing attacks in mobile banking
CN107844290B (zh) 基于数据流安全威胁分析的软件产品设计方法及装置
CN112769565B (zh) 密码加密算法的升级方法、装置、计算设备和介质
Li et al. Authenticator rebinding attack of the UAF protocol on mobile devices
CN111046440A (zh) 一种安全区域内容的篡改验证方法及系统
CN113824693B (zh) 多媒体数据分享方法、装置、系统、电子设备和存储介质
US20240004986A1 (en) Cla certificateless authentication of executable programs
CN114598478B (zh) 数据加密的方法、装置、电子设备和存储介质
CN117034250A (zh) 口令处理方法、装置、非易失性存储介质和电子设备

Legal Events

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