System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及信息安全,特别涉及一种非重复随机数生成方法及系统。
技术介绍
1、随机数生成是计算机科学和信息
中的一个重要问题。随机数在密码学、模拟实验、游戏开发等领域都有着广泛的应用。然而,传统的随机数生成方法存在着一些问题,比如生成的随机数可能会重复,或者生成的随机数并不是真正的随机数。因此,寻找一种非重复随机数生成方法成为了一个迫切的需求。
2、目前,已经有一些非重复随机数生成方法被提出并应用于实际生产中,例如通过直接获取随机数然后与前面赋值随机数进行比较,以排除重复数。这些方法在实际应用中存在着一些局限性,比如生成速度较慢、占用内存较大。为此,需要进一步研究和改进现有的非重复随机数生成方法,以满足日益增长的应用需求。
技术实现思路
1、本专利技术提供一种非重复随机数生成方法及系统,解决现有非重复随机数生成效率等问题,能够在保证数据安全的前提下来满足大规模随机数生成需求。
2、按照本专利技术所提供的设计方案,一方面,提供一种非重复随机数生成方法,包含:
3、利用随机数生成器生成唯一的伪随机数,并将该伪随机数作为输入密钥;
4、将输入密钥作为哈希函数输入,以基于哈希函数生成固定长度字符串;
5、从固定长度字符串中选取符合预期要求的随机数,以利用选取的随机数对数据加密或签名。
6、作为本专利技术非重复随机数生成方法,进一步地,利用随机数生成器生成唯一的伪随机数,包含:
7、基于用户随机输入并
8、作为本专利技术非重复随机数生成方法,进一步地,利用随机数生成器生成唯一的伪随机数,还包含:
9、将随机数生成器生成的随机数与业务uuid和/或时间序列进行融合拼接,以将融合拼接结果作为唯一的伪随机数,其中,业务uuid为基于通用唯一标识符生成的唯一数,时间序列为基于时间生成的唯一数。
10、作为本专利技术非重复随机数生成方法,进一步地,基于哈希函数生成预定长度字符串,包含:
11、首先,收集已知的安全散列算法并构成安全散列算法列表,以从安全散列算法列表中选取目标算法作为哈希函数;
12、然后,利用哈希函数对输入密钥进行哈希迭代计算,并根据哈希迭代计算结果确定预定长度字符串,其中,对输入密钥进行第一次哈希迭代计算的输入为输入密钥。
13、作为本专利技术非重复随机数生成方法,进一步地,已知的安全散列算法包含但不限于:sha-256、sha-512。
14、作为本专利技术非重复随机数生成方法,进一步地,利用哈希函数对输入密钥进行哈希迭代计算,还包括:
15、对输入密钥进行第i次哈希迭代计算的输入根据对输入密钥进行i-1哈希迭代计算输出及业务uuid和/或时间序列确定,其中,业务uuid为基于通用唯一标识符生成的唯一数,时间序列为基于时间生成的唯一数。
16、作为本专利技术非重复随机数生成方法,进一步地,从固定长度字符串中选取符合预期要求的随机数,包含:
17、从固定长度字符串中选取前n位字符串作为用于数据加密或签名的随机数,或依据n的倍数选取对应位数字符串作为用于数据加密或签名的随机数。
18、进一步地,本专利技术还提供一种非重复随机数生成系统,包含:获取模块、处理模块和输出模块,其中,
19、获取模块,用于利用随机数生成器生成唯一的伪随机数,并将该伪随机数作为输入密钥;
20、处理模块,用于将输入密钥作为哈希函数输入,以基于哈希函数生成固定长度字符串;
21、输出模块,用于从固定长度字符串中选取符合预期要求的随机数,以利用选取的随机数对数据加密或签名。
22、本专利技术的有益效果:
23、本专利技术基于密码学哈希函数来生成非重复随机数,能够在保证随机性的前提下,大大提高随机数生成速度,能够有效地减少内存占用,具有高度的非重复性和随机性,适用于大规模的随机数生成需求;并可通过调整密钥长度和选取的位数,灵活地调整生成的随机数的数量和长度、高效、安全、节省存储空间,能够满足数据加密或签名等应用场景中需求,具有较好的应用前景。
本文档来自技高网...【技术保护点】
1.一种非重复随机数生成方法,其特征在于,包含:
2.根据权利要求1所述的非重复随机数生成方法,其特征在于,利用随机数生成器生成唯一的伪随机数,包含:
3.根据权利要求2所述的非重复随机数生成方法,其特征在于,利用随机数生成器生成唯一的伪随机数,还包含:
4.根据权利要求1所述的非重复随机数生成方法,其特征在于,基于哈希函数生成预定长度字符串,包含:
5.根据权利要求4所述的非重复随机数生成方法,其特征在于,已知的安全散列算法包含但不限于:SHA-256、SHA-512。
6.根据权利要求4所述的非重复随机数生成方法,其特征在于,利用哈希函数对输入密钥进行哈希迭代计算,还包括:
7.根据权利要求1所述的非重复随机数生成方法,其特征在于,从固定长度字符串中选取符合预期要求的随机数,包含:
8.一种非重复随机数生成系统,其特征在于,包含:获取模块、处理模块和输出模块,其中,获取模块,用于利用随机数生成器生成唯一的伪随机数,并将该伪随机数作为输入密钥;
9.一种电子设备,其特征在于,包括:<
...【技术特征摘要】
1.一种非重复随机数生成方法,其特征在于,包含:
2.根据权利要求1所述的非重复随机数生成方法,其特征在于,利用随机数生成器生成唯一的伪随机数,包含:
3.根据权利要求2所述的非重复随机数生成方法,其特征在于,利用随机数生成器生成唯一的伪随机数,还包含:
4.根据权利要求1所述的非重复随机数生成方法,其特征在于,基于哈希函数生成预定长度字符串,包含:
5.根据权利要求4所述的非重复随机数生成方法,其特征在于,已知的安全散列算法包含但不限于:sha-256、sha-512。
6.根据权利要求4所述的非重复随机数生成...
【专利技术属性】
技术研发人员:王嘉田,冀会芳,王志鸿,
申请(专利权)人:中国人民解放军战略支援部队信息工程大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。