System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及密钥处理,尤其涉及一种基于预取密钥的密钥整理方法、设备和存储介质。
技术介绍
1、在使用量子密钥加解密过程中,由于音视频等应用程序所需的密钥量大,在使用过程中,采用预取的方式进行密钥获取,但是在使用过程中经常会出现预取的密钥量过大,导致预取的密钥无法在回到内存中重新使用,原因在于如果把密钥返回原位置,而提取密钥的指针已经移动下一位置,这样返回的密钥就使用不了,即使单纯的将指针位置偏移到返回密钥的位置,那么后面的密钥空洞就无法解决,在目前看来,就只能是将多余的预取密钥删了,从而造成密钥浪费;同时也浪费了客户端、服务器、密钥中继基站的带宽和处理资源,加速了密钥的消耗,会带来更频繁的密钥下载、同步的带宽和资源消耗。
2、这就需要考虑将预取没用完的密钥归还到各网元的密钥池,但是密钥池是以文件形式存储,需将预取密钥进行密钥整理,说到底也就是将密钥合并。此时,由于密钥很可能正处在同步的消耗过程中,并且区分上下行密钥池,无法直接归还回去,所以需要整理密钥池的密钥文件,而密钥文件消耗进度各不相同,就给密钥整理带来了比较大的麻烦。因此,如何实现将多余的预取密钥进行密钥整理成为急需解决的技术性难题。
技术实现思路
1、专利技术目的:为解决
技术介绍
中提出的相关技术问题,本专利技术提供了一种基于预取密钥的密钥整理方法、设备和存储介质,其通过密钥文件的偏移指针位置、密钥拼接等手段将预取密钥中剩余的待归还密钥进行回收整理,避免了密钥资源的浪费。
2、技术方案:本专利技术提供一
3、(1)将密钥池中的密钥文件采用内存映射的方式从磁盘映射到内存中,密钥文件中存储有固定字节长度的密钥数据;
4、(2)根据密钥文件的偏移指针从密钥文件中获取预取密钥进行使用;
5、(3)使用完成后,将预取密钥中剩余的待归还密钥进行回收整理,并更新记录密钥文件的剩余密钥总量。
6、进一步地,所述将预取密钥中剩余的待归还密钥进行回收整理的具体过程为:
7、1)根据密钥文件的当前偏移指针位置和密钥文件存储的密钥长度,获取密钥文件中剩余未使用密钥的密钥长度;
8、2)将待归还密钥拼接在剩余未使用密钥的尾部形成剩余密钥总量;
9、3)获取剩余密钥总量的密钥长度,将其与密钥文件存储的密钥长度进行比较,若剩余密钥总量的密钥长度大于密钥文件存储的密钥长度,则将内存中密钥文件大小进行修改,使密钥文件存储的密钥长度大于等于剩余密钥总量的密钥长度,再将剩余密钥总量存入密钥文件中;若剩余密钥总量的密钥长度小于等于密钥文件存储的密钥长度,则将密钥文件中剩余未使用密钥进行位置偏移使待归还密钥存入密钥文件中,再更新密钥文件中偏移指针位置和更新记录当前密钥文件的剩余密钥总量。
10、进一步地,所述将预取密钥中剩余的待归还密钥进行回收整理的具体过程为:
11、1)根据密钥文件的当前偏移指针位置和密钥文件存储的密钥长度,获取密钥文件中剩余未使用密钥的密钥长度和已使用密钥的密钥长度;
12、2)获取待归还密钥的密钥长度,将其与密钥文件中已使用密钥的密钥长度进行比较,若待归还密钥的密钥长度小于等于已使用密钥的密钥长度,则将待归还密钥拼接在剩余未使用密钥的首部形成剩余密钥总量,再更新密钥文件中偏移指针位置和更新记录当前密钥文件的剩余密钥总量;若待归还密钥的密钥长度大于已使用密钥的密钥长度,则将待归还密钥拼接在剩余未使用密钥的首部形成剩余密钥总量,再将内存中密钥文件大小进行修改,使密钥文件存储的密钥长度大于等于剩余密钥总量的密钥长度,再将剩余密钥总量存入密钥文件中。
13、进一步地,所述若待归还密钥的密钥长度大于已使用密钥的密钥长度,或者为:则将待归还密钥进行拆分得到待归还密钥的第一部分和第二部分,其中待归还密钥的第一部分与已使用密钥的密钥长度相同,将待归还密钥的第一部分存入当前密钥文件中,更新当前密钥文件中偏移指针位置和更新记录当前密钥文件的密钥总量;将待归还密钥的第二部分存入上一密钥文件的尾部,并更新上一密钥文件中偏移指针位置和更新记录上一密钥文件的密钥总量。
14、进一步地,所述将内存中密钥文件大小进行修改是指通过ftruncate函数对内存中密钥文件大小进行修改。
15、本专利技术还包括一种计算机设备,所述计算机设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如上述权利要求中任一所述密钥整理方法。
16、本专利技术还包括一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上述权利要求中任一所述密钥整理方法。
17、本专利技术的有益效果:
18、1、通过密钥文件的偏移指针位置、密钥拼接等手段将预取密钥中剩余的待归还密钥进行回收整理,避免了密钥资源的浪费;
19、2、通过ftruncate函数对映射到内存中密钥文件的大小进行修改,解决了待归还密钥与剩余未使用密钥合并后,密钥总量大于密钥文件大小的问题,实现了合并后密钥的安全存储。
本文档来自技高网...【技术保护点】
1.一种基于预取密钥的密钥整理方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于预取密钥的密钥整理方法,其特征在于,所述将预取密钥中剩余的待归还密钥进行回收整理的具体过程为:
3.根据权利要求1所述的一种基于预取密钥的密钥整理方法,其特征在于,所述将预取密钥中剩余的待归还密钥进行回收整理的具体过程为:
4.根据权利要求3所述的一种基于预取密钥的密钥整理方法,其特征在于,所述若待归还密钥的密钥长度大于已使用密钥的密钥长度,或者为:则将待归还密钥进行拆分得到待归还密钥的第一部分和第二部分,其中待归还密钥的第一部分与已使用密钥的密钥长度相同,将待归还密钥的第一部分存入当前密钥文件中,更新当前密钥文件中偏移指针位置和更新记录当前密钥文件的密钥总量;将待归还密钥的第二部分存入上一密钥文件的尾部,并更新上一密钥文件中偏移指针位置和更新记录上一密钥文件的密钥总量。
5.根据权利要求2或3所述的一种基于预取密钥的密钥整理方法,其特征在于,所述将内存中密钥文件大小进行修改是指通过ftruncate函数对内存中密钥文件大小进行修改。
...【技术特征摘要】
1.一种基于预取密钥的密钥整理方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于预取密钥的密钥整理方法,其特征在于,所述将预取密钥中剩余的待归还密钥进行回收整理的具体过程为:
3.根据权利要求1所述的一种基于预取密钥的密钥整理方法,其特征在于,所述将预取密钥中剩余的待归还密钥进行回收整理的具体过程为:
4.根据权利要求3所述的一种基于预取密钥的密钥整理方法,其特征在于,所述若待归还密钥的密钥长度大于已使用密钥的密钥长度,或者为:则将待归还密钥进行拆分得到待归还密钥的第一部分和第二部分,其中待归还密钥的第一部分与已使用密钥的密钥长度相同,将待归还密钥的第一部分存入当前密钥文件中,更新当前密钥文件中...
【专利技术属性】
技术研发人员:杨鸽,李亦,何旭,李超龙,
申请(专利权)人:矩阵时光数字科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。