一种基于商密算法SM4的加解密方法、介质技术

技术编号:34842500 阅读:29 留言:0更新日期:2022-09-08 07:39
本发明专利技术涉及一种基于商密算法SM4的加解密方法、介质,属于数据保护技术领域。使用商密算法SM4可以将一些敏感字段、隐私字段加密后再存入数据库中,由于数据库中所保存的只是一串加密后的无意义字符串,需要进行解密才能够获取真实内容,故即使取得了数据库的权限也无法读取加密字段的真实内容,可以保证敏感字段在数据库中不可读来起到保护数据的作用,并且结合了种子加密夹持,解决了单一加密算法易被破解的问题,起到了多重保护作用,为数据安全性提供了更高的保障。提供了更高的保障。提供了更高的保障。

【技术实现步骤摘要】
一种基于商密算法SM4的加解密方法、介质


[0001]本专利技术涉及数据保护
,特别是涉及一种基于商密算法SM4的加解密方法、介质。

技术介绍

[0002]目前,一些敏感字段、隐私字段存入数据库后,会面临被泄露的风险。现有的方法大多都是采用国外加密算法来对敏感字段、隐私字段进行加密后,再将其存入数据库中,但没有采用国内加密算法进行加密的方法。而且,现有的方法大多都是采用单一加密算法进行加密,存在单一加密算法易被破解的问题。

技术实现思路

[0003]本专利技术的目的是提供一种基于商密算法SM4的加解密方法、介质,采用商密算法SM4和种子加密方法对隐私数据进行加密处理,解决了单一加密算法易被破解的问题。
[0004]为实现上述目的,本专利技术提供了如下方案:
[0005]第一方面,本专利技术提供一种基于商密算法SM4的加密方法,所述加密方法包括:
[0006]利用种子加密方法生成加密种子;
[0007]对所述加密种子进行16进制换算,得到商密算法SM4所需的加密种子值;
[0008]以所述加密种子值作为输入,利用所述商密算法SM4对待加密数据进行加密,得到加密后数据;
[0009]将所述加密后数据和所述加密种子值存入数据库。
[0010]第二方面,本专利技术提供一种基于商密算法SM4的解密方法,所述解密方法包括:
[0011]获取待解密数据和所述待解密数据加密时所用的加密种子值;所述待解密数据采用上述的加密方法加密得到;
[0012]对所述加密种子值进行16进制换算,得到商密算法SM4所需的解密种子值;
[0013]以所述解密种子值作为输入,利用所述商密算法SM4对所述待解密数据进行解密,得到解密后数据。
[0014]第三方面,本专利技术提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述加密方法的步骤;或实现上述解密方法的步骤。
[0015]根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:
[0016]本专利技术用于提供一种基于商密算法SM4的加解密方法、介质,使用商密算法SM4可以将一些敏感字段、隐私字段加密后再存入数据库中,由于数据库中所保存的只是一串加密后的无意义字符串,需要进行解密才能够获取真实内容,故即使取得了数据库的权限也无法读取加密字段的真实内容,可以保证敏感字段在数据库中不可读来起到保护数据的作用,并且结合了种子加密夹持,解决了单一加密算法易被破解的问题,起到了多重保护作用,为数据安全性提供了更高的保障。
附图说明
[0017]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1为本专利技术实施例1所提供的加密方法的方法流程图;
[0019]图2为本专利技术实施例2所提供的解密方法的方法流程图;
[0020]图3为本专利技术实施例3所提供的工具类的功能示意图;
[0021]图4为本专利技术实施例3所提供的工具类的加密步骤示意图;
[0022]图5为本专利技术实施例3所提供的工具类的解密步骤示意图。
具体实施方式
[0023]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0024]本专利技术的目的是提供一种基于商密算法SM4的加解密方法、介质,采用商密算法SM4和种子加密方法对隐私数据进行加密处理,解决了单一加密算法易被破解的问题。
[0025]为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。
[0026]实施例1:
[0027]本实施例用于提供一种基于商密算法SM4的加密方法,如图1所示,所述加密方法包括:
[0028]S1:利用种子加密方法生成加密种子;
[0029]种子加密方法可以采用商密算法SM4,种子加密方法对随机码进行处理,以生成加密种子。
[0030]本实施例所述的加密方法包括多种版本,每一版本对应一版本号,不同的版本对应不同的规则。故在利用种子加密方法生成加密种子之前,本实施例的加密方法还包括:选择加密方法的版本号,基于种子加密方法对版本号和随机码进行处理,生成加密种子。
[0031]S2:对所述加密种子进行16进制换算,得到商密算法SM4所需的加密种子值;
[0032]商密算法SM4为ShangMi4,简称SM4。
[0033]S3:以所述加密种子值作为输入,利用所述商密算法SM4对待加密数据进行加密,得到加密后数据;
[0034]本实施例的待加密数据可为敏感字段和隐私字段等需要保护的数据,待加密数据的数据格式包括键值对、数组和单条字符串。
[0035]S4:将所述加密后数据和所述加密种子值存入数据库。
[0036]加密时所生成的加密种子值也需要保存下来,供解密时使用。
[0037]在得到加密后数据后,本实施例的加密方法还包括:根据需求选择加密后数据的数据格式,将加密后数据以所选择的数据格式存入数据库中,加密后数据的数据格式包括
键值对、数组和单条字符串。
[0038]作为一种可选的实施方式,本实施例的加密方法可以同时对多个待加密数据进行处理,以对待加密数据进行批量处理,提高加密处理的效率。
[0039]因为某些场景下,有一批待加密数据会同时加密,但是在随后一些操作中可能对其中一些待加密数据进行修改,如果直接替换新的种子,可能会影响后续的查询。故本实施例提供了原种子再次加密功能,在修改了数据的同时不修改种子值,即在待加密数据发生修改后,本实施例的加密方法还包括:以加密种子值作为输入,利用商密算法SM4对修改后的待加密数据进行再次加密。由于支持再次加密,这样在使用系统查询数据时,可以用加密后的字段与之前保存的内容进行配对,保证了系统的可用性。
[0040]本实施例的加密方法使用了国人专利技术的商密算法SM4,可以将一些敏感字段、隐私字段加密后再存入数据库中,由于数据库中所保存的只是一串加密后的无意义字符串,需要进行解密才能够获取真实内容,故即使取得了数据库的权限也无法读取加密字段的真实内容,可以保证敏感字段在数据库中不可读来起到保护数据的作用,并且结合了种子加密夹持,解决了单一加密算法易被破解的问题,起到了多重保护作用,为数据安全性提供了更高的保障。
[0041]实施例2:
[0042]本实施例用于提供一种基于商密算法SM4的解密方法,如图2所示,所述解密方法包括:
[0043]T1:获取待解密数据和所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于商密算法SM4的加密方法,其特征在于,所述加密方法包括:利用种子加密方法生成加密种子;对所述加密种子进行16进制换算,得到商密算法SM4所需的加密种子值;以所述加密种子值作为输入,利用所述商密算法SM4对待加密数据进行加密,得到加密后数据;将所述加密后数据和所述加密种子值存入数据库。2.根据权利要求1所述的加密方法,其特征在于,所述加密方法包括多种版本;在利用种子加密方法生成加密种子之前,所述加密方法还包括:选择所述加密方法的版本号。3.根据权利要求1所述的加密方法,其特征在于,所述待加密数据的数据格式包括键值对、数组和单条字符串。4.根据权利要求1所述的加密方法,其特征在于,在得到加密后数据后,所述加密方法还包括:根据需求选择所述加密后数据的数据格式,将所述加密后数据以所选择的数据格式存入所述数据库中;所述加密后数据的数据格式包括键值对、数组和单条字符串。5.根据权利要求1所述的加密方法,其特征在于,所述加密方法同时对多个所述待加密数据进行处理。6.根据权利要求1所述的加密方法,其特征在于,在所述待加密数据发生修改后,所述加密方法还包括:以所述加密种子值作为输入,...

【专利技术属性】
技术研发人员:蒋琦洪李松亚张顺晨石贇季勇黄国珉杨艳秋
申请(专利权)人:上海欧冶金融信息服务股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1