一种加密和解密方法、装置、设备和存储介质与流程

专利2024-10-14  53



1.本技术涉及加解密技术领域,具体涉及一种加密和解密方法、装置、设备和存储介质。


背景技术:

2.在信息快速传播的当下社会,信息保密显得尤为重要,当代密码学所采用的加密方法一般是利用数学计算等系列操作来改变原始信息(明文),可以将加密定义为用特定的方法将明文伪装为密文,同理,将密文破解为明文的过程称之为解密。
3.在现有的加密方法中,以手机为例,一般用户的明文会存储在手机中,而手机运营方会通过设置加密关键字的方式将明文进行加密并进行存储,但是这种加密方法所面临的问题是:一旦用户丢失手机,将彻底丢失明文。这种问题无疑会对用户的使用造成影响,损失用户利益。


技术实现要素:

4.有鉴于此,本技术提供了一种加密和解密方法、装置、设备和存储介质,用于解决用户一旦丢失手机,将彻底丢失明文,对用户的使用造成影响,损失用户利益的问题。
5.为实现以上目的,现提出的方案如下:
6.第一方面,一种加密方法,包括:
7.获取用户的手机号,利用所述手机号对用户进行身份验证;
8.若身份验证通过,则根据所述用户的手机号,生成第一私钥;
9.响应用户设置第一密码的操作指令,根据所述第一密码,得到加密关键字;
10.利用所述加密关键字和所述第一密码对所述第一私钥进行加密,得到第二私钥;
11.利用所述手机号对所述第一密码进行加密,得到第二密码;
12.将所述第二私钥和所述第二密码进行存储,以完成加密过程。
13.优选地,所述根据所述用户的手机号,生成第一私钥,包括:
14.根据所述用户的手机号,利用非对称加密算法生成所述第一私钥。
15.优选地,所述利用所述加密关键字和所述第一密码对所述第一私钥进行加密,得到第二私钥,包括:
16.利用所述加密关键字和所述第一密码对所述第一私钥进行信息摘要算法加密,得到所述第二私钥。
17.优选地,利用所述手机号对所述第一密码进行加密,得到第二密码,包括:
18.所述利用所述手机号对所述第一密码进行信息摘要算法加密,得到第二密码。
19.优选地,所述利用所述手机号对用户进行身份验证,包括:
20.根据所述手机号生成短信验证码;
21.将所述短信验证码发送给用户,供用户利用所述短信验证码进行身份验证。
22.第二方面,一种解密方法,包括:
23.响应用户进行解密的请求指令,获取所述用户的手机号;
24.利用所述手机号对所述用户进行身份验证;
25.若身份验证通过,则获取所述用户的第二密码;
26.利用所述手机号对所述第二密码进行解密,得到第一密码;
27.获取所述用户的加密关键字和第二私钥;
28.利用所述加密关键字和所述第一密码对所述第二私钥进行解密,得到第一私钥,以完成解密过程。
29.第三方面,一种加密装置,包括:
30.验证模块,用于获取用户的手机号,利用所述手机号对用户进行身份验证;
31.第一私钥生成模块,用于当用户身份验证通过,则根据所述用户的手机号,生成第一私钥;
32.加密关键字得到模块,用于响应用户设置第一密码的操作指令,根据所述第一密码,得到加密关键字;
33.第二私钥得到模块,用于利用所述加密关键字和所述第一密码对所述第一私钥进行加密,得到第二私钥;
34.第二密码得到模块,利用所述手机号对所述第一密码进行加密,得到第二密码;
35.存储模块,用于将所述第二私钥和所述第二密码进行存储,以完成加密过程。
36.第四方面,一种解密装置,包括:
37.手机号获取模块,用于响应用户进行解密的请求指令,获取所述用户的手机号;
38.身份验证模块,用于利用所述手机号对所述用户进行身份验证;
39.第二密码获取模块,用于当用户身份验证通过,则获取所述用户的第二密码;
40.第一密码得到模块,用于利用所述手机号对所述第二密码进行解密,得到第一密码;
41.用户信息获取模块,用于获取所述用户的加密关键字和第二私钥;
42.第一私钥得到模块,用于利用所述加密关键字和所述第一密码对所述第二私钥进行解密,得到第一私钥,以完成解密过程。
43.第五方面,一种加密设备,包括存储器和处理器;
44.所述存储器,用于存储程序;
45.所述处理器,用于执行所述程序,实现如第一方面所述的加密方法的各个步骤。
46.第六方面,一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面所述的加密方法的各个步骤。
47.从上述技术方案可以看出,本技术通过获取用户的手机号,利用所述手机号对用户进行身份验证,身份验证通过后,根据用户的手机号生成第一私钥,响应用户设置第一密码的操作指令,根据第一密码得到加密关键字,利用加密关键字和第一密码对第一私钥进行加密,得到第二私钥,然后利用手机号对第一密码进行加密,得到第二密码,最后将第二私钥和第二密码进行存储,以完成加密过程。该方案通过设置加密关键字和第一密码,利用二者对第一私钥进行加密得到第二私钥并进行存储,然后再通过手机号对第一密码进行加密,得到第二密码并进行存储,从而在用户丢失第一私钥时,可以利用自己的手机号来追回第一私钥,保证用户的利益。
附图说明
48.图1为本技术实施例提供的一种加密方法的可选流程图;
49.图2为本技术实施例提供的一种加密过程的结构框图;
50.图3为本技术实施例提供的一种解密方法的可选流程图;
51.图4为本技术实施例提供的一种加密装置示意图;
52.图5为本技术实施例提供的一种解密装置示意图;
53.图6为本技术实施例提供的一种加密设备的结构示意图。
具体实施方式
54.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
55.随着互联网的普及,网络数据安全已成为互联网扩展业务和拓展应用的重中之重。由于目前各行业的数字身份及相关的应用系统很多都是由区块链构成底层平台,为了保证用户的信息安全,往往需要采用较复杂的加密算法,但是很多加密系统只注重了加密的复杂性,可以防止被轻易破解,却忽视了如果用户丢失一开始的手机等终端设备,将彻底丢失明文,这样无疑会对用户的使用造成影响,损失用户利益。
56.以区块链系统为例,区块链具有安全、高效及低成本的优点,但是区块链平台的特征都是每位用户拥有一对非对称的公私钥用于用户登录、交易、数据传输等的加解密,因此用户如果因为某种原因丢失私钥将无法登陆区块链系统。
57.目前各种运营方通常采取以下两种私钥保存方法:
58.1)帮用户保管私钥数据,相当于运营方可以随时掌握用户的所有数据,当然,在这种情况下,运营方也可以随时篡改用户的任何数据,不利于用户的隐私保护。
59.2)由用户自行保管私钥数据,但是用户一旦丢失私钥将无法找回。
60.基于上述缺陷,本技术实施例提供了一种加密方案,接下来通过图1对本技术的加密方法进行说明,如图1所示,该方法包括:
61.s1:获取用户的手机号,利用手机号对用户进行身份验证。
62.本技术提供的实施例中,该方法可以应用于服务器,该服务器可以是智能手机、平板电脑、个人计算机、笔记本电脑等终端设备。
63.s2:若身份验证通过,则根据用户的手机号,生成第一私钥。
64.具体的,在上述步骤s1后,用户收到了与个人手机号相关联的验证码,用户根据该验证码进行身份验证,若用户成功输入收到的验证码,则身份验证通过,那么服务器终端将会根据该用户的手机号生成一对公钥和私钥。可选的,公钥和私钥是通过加密算法得到的一对密钥对,例如对于一组加密数据,公钥可以对数据进行加密或签名,从而得到加密数据,而只有与该公钥配成一对的私钥才可以解开该加密数据,可以保证加密数据的安全性,其中公钥是对外公开的部分,而私钥是非公开的部分,由用户自行保管。在本技术提供的实施例中,可以只利用第一私钥完成加密过程。
65.s3:响应用户设置第一密码的操作指令,根据第一密码,得到加密关键字。
66.在上述步骤s1和s2后,用户需要对自身明文信息设置密码,这里将密码作为第一密码,该第一密码可以是各位数字密码,也可以是字母密码,也可以是数字加字母,或加上各种符号的复杂密码,密码越复杂,明文信息的安全性越高,越不容易被破解。
67.服务器根据第一密码,可以得到一组加密关键字,该加密关键字由服务器随机生成,其与第一密码相关联。每一组加密关键字仅代表一个第一密码。
68.s4:利用加密关键字和第一密码对第一私钥进行加密,得到第二私钥。
69.利用步骤s3中得到的加密关键字和步骤s2中得到的第一密码对第一私钥进行加密可以得到第二私钥。该第二私钥可以存储在服务器终端中的用户数据库中,如图2所示,图2示出了本技术提供的加密过程的结构框图。
70.s5:利用手机号对第一密码进行加密,得到第二密码。
71.可选的,单纯利用加密关键字和第一密码对第一私钥进行加密还不够,可以再利用用户手机号对第一密码进行加密,得到第二密码。
72.s6:将第二私钥和第二密码进行存储,以完成加密过程。
73.将步骤s4中得到的第二私钥和步骤s5中得到的第二密码都进行存储,即完成加密过程。该第二密码也可以存储在服务器终端的用户数据库中。
74.从上述技术方案可以看出,本技术通过获取用户的手机号,利用手机号对用户进行身份验证,身份验证通过后,根据用户的手机号生成第一私钥,响应用户设置第一密码的操作指令,根据第一密码得到加密关键字,利用加密关键字和第一密码对第一私钥进行加密,得到第二私钥,然后利用手机号对第一密码进行加密,得到第二密码,最后将第二私钥和第二密码进行存储,以完成加密过程。该方案通过设置加密关键字和第一密码,利用二者对第一私钥进行加密得到第二私钥并进行存储,然后再通过手机号对第一密码进行加密,得到第二密码并进行存储,从而在用户丢失第一私钥时,可以利用自己的手机号来追回第一私钥,保证用户的利益。
75.具体地,在步骤s1中,当用户进行登录注册时,可以首先获取用户的手机号,然后向用户发送与手机号相对应的短信验证码,以便用户进行登录注册和身份验证。此时,表明用户身份的手机号将保存在服务器中。
76.进一步地,在步骤s2中,根据用户的手机号,生成第一私钥,可以包括:
77.根据用户的手机号,利用非对称加密算法生成第一私钥。
78.可选的,非对称加密算法可以是rsa加密算法,rsa加密是一种非对称加密算法,其可以在不直接传递密钥的情况下,完成解密。这能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险。另外,非对称加密是由一对密钥来进行加解密的过程,包括两种形式,分别是公钥加密-私钥解密,和私钥加密-公钥解密。同时,非对称加密算法的安全性很高,不过加密和解密需要花费的时间较长,速度慢,效率低,适合对少量数据进行加密。当然,在本技术提供的实施例中,该方案也可以利用对称加密算法来生成公钥和第一私钥,对称加密算法运行速度快、资源消耗低,这样不仅能够减少数据加密的时间,还能够减少设备运行负担,同时也可以保证安全。在一个实现方式中,服务器可以通过密钥生成模块来生成第一私钥。
79.上述实施例仅为本技术的一种实现方式,本技术还可以通过其他方式来生成第一密钥,在此不做赘述。
80.具体地,在步骤s4中,利用加密关键字和第一密码对第一私钥进行加密,得到第二私钥,包括:
81.利用加密关键字和第一密码对第一私钥进行信息摘要算法加密,得到第二私钥。
82.可选的,可以利用加密关键字和第一密码对第一私钥进行md5信息摘要算法加密,得到第二私钥。md5加密算法为计算机安全领域广泛使用的一种散列函数,用于提供消息的完整性,其在对第一私钥进行加密时,会对第一私钥进行压缩计算,不管第一私钥的字节长度如何,都会生成一个固定长度的消息摘要,即第二私钥。下面简单对md5加密算法进行说明:
83.md5算法以512位分组来处理第一私钥,且每一个分组又被划分为16个32位子分组,经过一系列的处理后,算法的输出由四个32位分组构成,将这四个32位分组级联后生成一个128位散列值。
84.在一般的密码保存时,如果直接将第一私钥或者用户信息以明码方式保存在用户数据库中,不使用任何保密措施,那么第一私钥或者用户信息会很容易被泄露,一旦泄露,那么用户的利益将会遭到损失。md5加密算法可以避免这类问题的发生,它可以将任意长度的输入串经过计算得到固定长度的输出,而且这个过程是不可逆的,不可以反推出第一私钥,从而保证了第一私钥的安全性。
85.在本技术提供的一个实施例中,在步骤s5,利用手机号对第一密码进行加密,得到第二密码的过程,包括:利用手机号对第一密码进行信息摘要算法加密,得到第二密码。
86.在该步骤中,仍然可以利用手机号,通过md5信息摘要算法对第一密码进行加密,得到第二密码,此处不再赘述。
87.本技术实施例还提供了一种解密方案,该解密方案和上述的加密方案相对应,接下来通过图3对本技术的解密方法进行说明,如图3所示,该方法包括:
88.s11:响应用户进行解密的请求指令,获取用户的手机号;
89.s12:利用手机号对用户进行身份验证;
90.s13:若身份验证通过,则获取用户的第二密码;
91.s14:利用手机号对第二密码进行解密,得到第一密码;
92.s15:获取用户的加密关键字和第二私钥;
93.s16:利用加密关键字和第一密码对第二私钥进行解密,得到第一私钥,以完成解密过程。
94.具体地,上述过程可以包括:
95.当用户丢失第一私钥后,可以向服务器发送解密请求指令,并提供自己的手机号,服务器接收到请求指令后,获取用户的手机号,根据手机号对用户进行身份验证,验证方式包括:向用户发送短信验证码,供用户进行身份验证。验证通过后,可以在用户数据库中获取用户的第二密码,然后利用md5解密算法对第二密码进行解密,得到第一密码。然后获取用户的加密关键字和第二私钥,利用加密关键字和第一密码对第二私钥进行md5解密,从而得到用户想要的第一私钥。最后,可以将第一私钥以邮件或者短信的方式发送给用户。
96.可以理解的是,md5信息摘要算法其实并不能进行真正意义上的解密,它的原理其实是服务器预先在数据库存储或者计算了大量的md5加密后的数据,当对第二密码或者第二私钥解密时,服务器会去预先存储的数据库中获取与第二密码或者第二私钥对应的源文
本(即第一密码或者第一私钥)。
97.下面对本技术实施例提供的加密装置进行描述,下文描述的加密装置与上文描述的加密方法可相互对应参照。
98.结合图4,对加密装置进行介绍,如图4所示,该装置可以包括:
99.验证模块10,用于获取用户的手机号,利用手机号对用户进行身份验证。
100.第一私钥生成模块20,用于当用户身份验证通过,则根据用户的手机号,生成第一私钥。
101.加密关键字得到模块30,用于响应用户设置第一密码的操作指令,根据第一密码,得到加密关键字。
102.第二私钥得到模块40,用于利用加密关键字和第一密码对第一私钥进行加密,得到第二私钥。
103.第二密码得到模块50,利用手机号对第一密码进行加密,得到第二密码。
104.存储模块60,用于将第二私钥和第二密码进行存储,以完成加密过程。
105.可选的,该装置中的验证模块可以包括:
106.短信验证码生成模块,用于根据手机号生成短信验证码。
107.身份验证模块,用于将短信验证码发送给用户,供用户利用短信验证码进行身份验证。
108.优选地,该装置中的第一私钥生成模块20可以包括:
109.第一私钥生成子模块,用于根据用户的手机号,利用非对称加密算法生成第一私钥。
110.优选地,该装置中的第二私钥得到模块40可以包括:
111.第二私钥得到子模块,用于利用加密关键字和第一密码对第一私钥进行加密,得到第二私钥。
112.进一步地,该装置中的第二密码得到模块可以包括:
113.第二密码得到子模块,用于利用手机号对第一密码进行信息摘要算法加密,得到第二密码。
114.更进一步地,下面对本技术实施例提供的解密装置进行描述,下文描述的解密装置与上文描述的解密方法可相互对应参照。
115.结合图5,对加密装置进行介绍,如图5所示,该装置可以包括:
116.手机号获取模块110,用于响应用户进行解密的请求指令,获取用户的手机号。
117.身份验证模块120,用于利用手机号对用户进行身份验证。
118.第二密码获取模块130,用于当用户身份验证通过,则获取用户的第二密码。
119.第一密码得到模块140,用于利用手机号对第二密码进行解密,得到第一密码。
120.用户信息获取模块150,用于获取用户的加密关键字和第二私钥。
121.第一私钥得到模块160,用于利用加密关键字和第一密码对第二私钥进行解密,得到第一私钥,以完成解密过程。
122.更进一步地,本技术实施例提供了一种加密设备。可选的,图6示出了加密设备的硬件结构框图,参照图6,加密设备的硬件结构可以包括:至少一个处理器01,至少一个通信接口02,至少一个存储器03和至少一个通信总线04。
123.在本技术实施例中,处理器01、通信接口02、存储器03、通信总线04的数量为至少一个,且处理器01、通信接口02、存储器03通过通信总线04完成相互间的通信。
124.处理器01可以是一个中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等。
125.存储器03可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器。
126.其中,存储器存储有程序,处理器可调用存储器存储的程序,程序用于执行方法实施例中描述的加密方法。
127.可选的,程序的细化功能和扩展功能可参照方法实施例中的加密方法的描述。
128.本技术实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,程序用于执行方法实施例中描述的加密方法。
129.具体地,该存储介质可以是一种计算机可读存储介质,计算机可读存储介质可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。
130.可选的,程序的细化功能和扩展功能可参照方法实施例中的加密方法的描述。
131.另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,直播设备,或者网络设备等)执行本公开各个实施例方法的全部或部分步骤。
132.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
133.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
134.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种加密方法,其特征在于,包括:获取用户的手机号,利用所述手机号对用户进行身份验证;若身份验证通过,则根据所述用户的手机号,生成第一私钥;响应用户设置第一密码的操作指令,根据所述第一密码,得到加密关键字;利用所述加密关键字和所述第一密码对所述第一私钥进行加密,得到第二私钥;利用所述手机号对所述第一密码进行加密,得到第二密码;将所述第二私钥和所述第二密码进行存储,以完成加密过程。2.根据权利要求1所述的方法,其特征在于,所述根据所述用户的手机号,生成第一私钥,包括:根据所述用户的手机号,利用非对称加密算法生成所述第一私钥。3.根据权利要求1所述的方法,其特征在于,所述利用所述加密关键字和所述第一密码对所述第一私钥进行加密,得到第二私钥,包括:利用所述加密关键字和所述第一密码对所述第一私钥进行信息摘要算法加密,得到所述第二私钥。4.根据权利要求1所述的方法,其特征在于,利用所述手机号对所述第一密码进行加密,得到第二密码,包括:所述利用所述手机号对所述第一密码进行信息摘要算法加密,得到第二密码。5.根据权利要求1所述的方法,其特征在于,所述利用所述手机号对用户进行身份验证,包括:根据所述手机号生成短信验证码;将所述短信验证码发送给用户,供用户利用所述短信验证码进行身份验证。6.一种解密方法,其特征在于,包括:响应用户进行解密的请求指令,获取所述用户的手机号;利用所述手机号对所述用户进行身份验证;若身份验证通过,则获取所述用户的第二密码;利用所述手机号对所述第二密码进行解密,得到第一密码;获取所述用户的加密关键字和第二私钥;利用所述加密关键字和所述第一密码对所述第二私钥进行解密,得到第一私钥,以完成解密过程。7.一种加密装置,其特征在于,包括:验证模块,用于获取用户的手机号,利用所述手机号对用户进行身份验证;第一私钥生成模块,用于当用户身份验证通过,则根据所述用户的手机号,生成第一私钥;加密关键字得到模块,用于响应用户设置第一密码的操作指令,根据所述第一密码,得到加密关键字;第二私钥得到模块,用于利用所述加密关键字和所述第一密码对所述第一私钥进行加密,得到第二私钥;第二密码得到模块,利用所述手机号对所述第一密码进行加密,得到第二密码;存储模块,用于将所述第二私钥和所述第二密码进行存储,以完成加密过程。
8.一种解密装置,其特征在于,包括:手机号获取模块,用于响应用户进行解密的请求指令,获取所述用户的手机号;身份验证模块,用于利用所述手机号对所述用户进行身份验证;第二密码获取模块,用于当用户身份验证通过后,则获取所述用户的第二密码;第一密码得到模块,用于利用所述手机号对所述第二密码进行解密,得到第一密码;用户信息获取模块,用于获取所述用户的加密关键字和第二私钥;第一私钥得到模块,用于利用所述加密关键字和所述第一密码对所述第二私钥进行解密,得到第一私钥,以完成解密过程。9.一种加密设备,其特征在于,包括存储器和处理器;所述存储器,用于存储程序;所述处理器,用于执行所述程序,实现如权利要求1-5任一项的加密方法的各个步骤。10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-5任一项的加密方法的各个步骤。

技术总结
本申请公开一种加密和解密方法、装置、设备和存储介质,通过获取用户的手机号,利用手机号对用户进行身份验证,身份验证通过后,根据用户的手机号生成第一私钥,响应用户设置第一密码的操作指令,根据第一密码得到加密关键字,利用加密关键字和第一密码对第一私钥进行加密,得到第二私钥,然后利用手机号对第一密码进行加密,得到第二密码,最后将第二私钥和第二密码进行存储,以完成加密过程。该方案通过设置加密关键字和第一密码,利用二者对第一私钥进行加密得到第二私钥并进行存储,然后再通过手机号对第一密码进行加密,得到第二密码并进行存储,从而在用户丢失第一私钥时,可以利用自己的手机号来追回第一私钥,保证用户的利益。利益。利益。


技术研发人员:王欢 吴俊 李英杰 曾波 周振辉
受保护的技术使用者:网思科技股份有限公司
技术研发日:2022.06.21
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-9960.html

最新回复(0)