System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机信息安全,具体而言,涉及一种数字摘要生成方法及相关装置。
技术介绍
1、随着信息技术的快速发展,计算机和互联网技术已应用到各行各业及生活的各个方面,给人们的工作、生活带来了很大的便利,但同时也存在一定的安全隐患。一些应用系统运行过程中通常需要传输和存储大量敏感数据,如个人身份信息、用户姓名、财务数据、医疗记录、网站登录密码、信用卡等,敏感数据遭到损坏或者篡改可能导致严重的后果,包括个人隐私泄露、金融欺诈、身份盗窃等。
2、数字摘要技术是常用的数据完整性校验手段,利用数字摘要技术生成敏感数据的数字摘要,通过对比两份敏感数据的数字摘要能够及时发现敏感数据是否遭到损坏或者篡改,以防患于未然。
3、如何生成安全、可靠的数字摘要是本领域技术人员亟待解决的技术问题。
技术实现思路
1、本专利技术的目的在于提供了一种数字摘要生成方法及相关装置,其能够通过提高数字摘要生成的复杂度,增加数字摘要的破解难度,有效地保证了数字摘要的安全、可靠。
2、本专利技术的实施例可以这样实现:
3、第一方面,本专利技术提供一种数字摘要生成方法,所述方法包括:
4、获取待处理字符串;
5、将所述待处理字符串划分为多个分组;
6、利用所述多个分组对预设参数进行多次更新,并将最后一次更新后的预设参数作为最终参数,当所述分组为第一个分组时,所述预设参数为原始参数,当所述分组不为第一个分组时,所述预设参数为最近一次更新后的
7、根据所述最终参数生成所述待处理字符串的数字摘要。
8、在可选的实施方式中,所述获取待处理字符串的步骤包括:
9、获取原始字符串;
10、向所述原始字符串中添加随机生成的字符串盐,得到加盐字符串;
11、若所述加盐字符串的长度小于预设长度,则向所述加盐字符串中填充bit位,得到长度为所述预设长度的填充字符串,否则将所述加盐字符串作为所述填充字符串;
12、继续向所述填充字符串中填充bit位,以得到长度符合设定要求的待处理字符串。
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、与现有技术相比,本专利技术对待处理字符串进行分组,利用多个分组对预设参数进行多次更新,得到最终参数,再利用最终参数生成待处理字符串的数字摘要,能够通过提高数字摘要生成的复杂度,增加数字摘要的破解难本文档来自技高网...
【技术保护点】
1.一种数字摘要生成方法,其特征在于,所述方法包括:
2.如权利要求1所述的数字摘要生成方法,其特征在于,所述获取待处理字符串的步骤包括:
3.如权利要求1所述的数字摘要生成方法,其特征在于,所述利用所述多个分组对预设参数进行多次更新,并将最后一次更新后的预设参数作为最终参数的步骤包括:
4.如权利要求3所述的数字摘要生成方法,其特征在于,所述利用所述当前分组的所述多个数据分块对当前参数进行多次更新,得到所述当前分组的最后一个数据分块更新后的当前参数的步骤包括:
5.如权利要求4所述的数字摘要生成方法,其特征在于,所述当前参数为多个,每一所述当前参数均对应一个预设不定数,所述根据所述当前数据分块对当前参数进行更新,得到更新后的当前参数的步骤包括:
6.如权利要求5所述的数字摘要生成方法,其特征在于,所述根据所述运算结果、所述当前数据分块、与所述第一参数对应的预设不定数及所述当前分组进行非线性运算的运算次数,计算更新后的第一参数的步骤包括:
7.如权利要求1所述的数字摘要生成方法,其特征在于,所述预设参数为多个
8.一种数字摘要生成装置,其特征在于,所述装置包括:
9.一种客户端,其特征在于,包括处理器和存储器,所述存储器用于存储程序,所述处理器用于在执行所述程序时,实现如权利要求1-7中任一项所述的数字摘要生成方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该计算机程序被处理器执行时实现如权利要求1-7中任一项所述的数字摘要生成方法。
...【技术特征摘要】
1.一种数字摘要生成方法,其特征在于,所述方法包括:
2.如权利要求1所述的数字摘要生成方法,其特征在于,所述获取待处理字符串的步骤包括:
3.如权利要求1所述的数字摘要生成方法,其特征在于,所述利用所述多个分组对预设参数进行多次更新,并将最后一次更新后的预设参数作为最终参数的步骤包括:
4.如权利要求3所述的数字摘要生成方法,其特征在于,所述利用所述当前分组的所述多个数据分块对当前参数进行多次更新,得到所述当前分组的最后一个数据分块更新后的当前参数的步骤包括:
5.如权利要求4所述的数字摘要生成方法,其特征在于,所述当前参数为多个,每一所述当前参数均对应一个预设不定数,所述根据所述当前数据分块对当前参数进行更新,得到更新后的当前参数的步骤包括:
6.如权利要求5所述的数字摘要生...
【专利技术属性】
技术研发人员:罗兵,黄亮,刘树衎,陈琳,孙乔,
申请(专利权)人:中国人民解放军海军工程大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。