首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用PRNG而不是改组来生成随机范围

在云计算领域,使用PRNG(伪随机数生成器)而不是改组来生成随机范围是一种常见的方法。PRNG是一种算法,它可以生成看似随机的数字序列,但实际上它们是可以预测的。与真正的随机数生成器相比,PRNG通常更快,但也更容易受到攻击。

在许多应用中,例如游戏、模拟和虚拟现实,使用PRNG生成随机范围是可以接受的,因为它们通常不需要真正的随机性。然而,在需要真正随机性的应用中,例如加密和安全应用程序,使用PRNG可能会导致安全漏洞。

总之,在云计算领域中,使用PRNG而不是改组来生成随机范围是一种常见的方法,但需要根据具体应用场景来决定是否适用。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

CA1832:使用 AsSpan 或 AsMemory 不是基于范围的索引器获取数组

规则说明 对数组使用范围索引器并分配给内存或范围类型:Span 上的范围索引器是非复制的 Slice 操作,但对于数组上的范围索引器,将使用方法 GetSubArray 不是 Slice,这会生成数组所请求部分的副本...如果不需要副本,请使用 AsSpan 或 AsMemory 方法避免不必要的副本。 如果需要副本,请先将其分配给本地变量,或者添加显式强制转换。...仅在对范围索引器操作的结果使用隐式强制转换时,分析器才会报告。...若要使用它,请将光标置于数组冲突上,然后按 Ctrl+。 (句点)。 从显示的选项列表中选择“在数组上使用 AsSpan 不是基于范围的索引器”。...AsSpan 不是基于范围的索引器 CA1833:使用 AsSpan 或 AsMemory 不是基于范围的索引器获取数组的 Span 或 Memory 部分 另请参阅 性能规则

1.3K00
  • 使用DDD构建你的REST API,不是CRUD

    REST围绕着资源这个概念构建的,然后用URI表示。然后一个HTTP动词和资源URI组合起来对指定资源进行HTTP调用来执行操作。...大多数REST框架提供了指定资源名称的生成器,框架围绕着它来生成脚手架。不幸的是,许多这些生成使用CRUD模型(Create,Read, Update, Delete)作为默认的起始点。...资源被定义为一系列的属性,使用类似JSON Schema或某个具体语言的数据对象定义,然后生成方法存根,然后来创建,读取,更新和删除该资源。...当然,并不是说你必须使用DDD设计你的REST,但是,由于REST资源可以很好地映射到DDD实体,因此我发现设计REST API特别适合使用DDD。 那么这是什么意思?...因此不应该按照CRUD模型构建你的serviceAPI(REST 或其他),而应该是使用DDD,DDD可以根据领域对象和可对其执行的业务操作定义API。

    2.2K50

    CA1831:在合适的情况下,为字符串使用 AsSpan 不是基于范围的索引器

    Span 上的范围索引器是非复制的 Slice 操作,但对于字符串中的范围索引器,将使用方法 Substring 不是 Slice。 这会生成字符串所请求部分的副本。...如果不需要副本,请使用 AsSpan 方法避免不必要的副本。 如果需要副本,请先将其分配给本地变量,或者添加显式强制转换。 仅在对范围索引器操作的结果使用隐式强制转换时,分析器才会报告。...AsSpan 不是基于 Range 的索引器,以避免创建不必要的数据副本。...若要使用它,请将光标置于数组冲突上,然后按 Ctrl+。 (句点)。 从显示的选项列表中选择“对字符串使用 AsSpan 不是基于范围的索引器”。...不是基于范围的索引器获取数组的 ReadOnlySpan 或 ReadOnlyMemory 部分 CA1833:使用 AsSpan 或 AsMemory 不是基于范围的索引器获取数组的 Span

    1.1K00

    人类对随机数的探索:如何才能生成一个均匀的随机数列

    PRNG使用当前时间作为种子值,其周期值约为2的31次方。...大多数的这些发明都半途废,但是一个叫做梅森旋转随机生成器(The Mersenne Twister)的PRNG 软件被推广,在1997 由松本眞和西村拓士发明。...这里有一份 131 页的论文介绍 CSPRNG,希望你能愉快阅读。 不言喻,CSPRNG 具有很强的要求。...梅森旋转随机生成器并不是一种 CSPRNG,因为如果可以给定大量的先前序列样本,后面的数字可以预计出来。...采用硬件随机生成器 PEDOUBLER 生成随机数。 开源硬件TRNGs于最近些年出现,其优点源自于设计的透明化:你可以检查电路本身,也可以在家里使用现成的组件建立它们。

    1.8K70

    写给开发人员的实用密码学 - 随机

    上一篇文章中介绍了消息验证码,这篇文章咱们聊聊随机数。随机数看起来是一个很简单的概念,不论哪种编程语言都提供了简单的生成随机数的方法,有必要单独写一篇文章么?...伪随机生成器(PRNGPRNG是从某个初始熵(种子)开始,并通过某种计算来计算下一个随机数的函数,而这些计算在不知道种子的情况下是无法预测的。这种计算称为伪随机函数。...好的随机生成器应该是快速的,并且应该具有统计随机性(请参阅Diehard测试),即在一段时间内所有数字的生成机会均应相同。CSPRNG有更高的要求,还要求不可预测性和不可重现性。...个比特,那么他将无法使用合理的计算资源预测 k + 1个比特。...大多数CSPRNG结合使用来自操作系统和高质量PRNG生成器的熵,它们经常“重置”,这意味着当新的熵来自操作系统时(例如,来自用户输入、系统中断、磁盘 I/O 或硬件随机产生),基础 PRNG 根据即将到来的新熵位更改其内部状态

    1.8K30

    JDKJava 17 马上来袭,看看带来哪些新特性?

    随着 always-strict 浮点语义的恢复,浮点运算将保持一致的严格;不是同时具有严格的浮点语义 ( strictfp) 和有着微妙出入的默认浮点语义。...这使得复杂的面向数据的查询能够简洁安全地表达。...增强的伪随机生成器将为伪随机生成器(PRNG)提供新的接口类型和实现,包括可跳转的 PRNG 和额外的一类可拆分 PRNG 算法 (LXM)。...该计划的动机是关注 Java 中伪随机生成领域的多个改进领域。这项工作不需要提供许多其他 PRNG 算法的实现。但是已经添加了三种常用算法,这些算法已经广泛部署在其他编程语言环境中。...该计划的目标包括: 使在应用程序中交替使用各种 PRNG 算法变得更容易。 改进了对基于流的编程的支持,提供了 PRNG 对象流。 消除现有 PRNG 类中的代码重复。

    1K30

    重启Tomcat时,报错deployDirectory Deploying web application directory解决办法

    Tomcat 使用 SHA1PRNG 算法是基于 SHA-1 算法实现且保密性较强的伪随机生成器。而在 SHA1PRNG 算法中,有一个种子产生器是根据配置执行各种操作的。    ...他们产生的随机数的原理是利用当前系统的熵池计算出固定一定数量的随机比特,然后再将这些比特作为字节流返回。...如果当前的系统的环境噪音变化程度并不是很剧烈、反差不大,或者当前环境的噪音很小,比如刚开机的时候。刚开机的时候需要大量的随机比特,这个时候产生随机数的随机效果就不是很理想了。    ...,程序再接着执行,这就是  /dev/random 比 /dev/urandom 产生大量随机数的速度要慢的原因,也是为什么使用这个文件生成随机数时,tomcat启动的速度被拖慢的原因。... /dev/urandom 这种方式在不能产生新的随机数时不会阻塞程序,当然了,这样的话生成随机数的效果没有  /dev/random 这种方式好,这对于加解密这样的应用来说并不是一个很好的选择。

    1.3K20

    安卓应用安全指南 5.6.3 密码学 高级话题

    5.6.3.2 随机数的生成 使用加密技术时,选择强加密算法和加密模式,以及足够长的密钥,确保应用和服务处理的数据的安全性,这非常重要。...为了防止这种情况,有必要以第三方难以猜测它们的值的方式,产生密钥和 IV,随机数在确保这一必要实现的方面,起着非常重要的作用。 产生随机数的设备称为随机生成器。...尽管硬件随机生成器(RNG)可能使用传感器或其他设备,通过测量无法预测或再现的自然现象产生随机数,但更常见的是用软件实现的随机生成器,称为伪随机生成器(PRNG)。...输入一个随机数种子来初始化内部状态;此后,每次生成随机数时更新内部状态,从而允许生成随机数序列。 随机数种子 种子在伪随机数发生器(PRNG)中起着非常重要的作用。...如上所述,PRNG 必须通过指定种子来初始化。 此后,用于生成随机数的过程是确定性算法,因此如果指定相同的种子,则会得到相同的随机数序列。

    80210

    浅谈postgre-sql uuid生成方法的细节

    ❝差异主要是生成随机数的方式上,其他工作基本一致。❞ 1. Gen_random_uuid()怎么的?     ...但是如果/dev/urandom因为某些原因失败(例如,该进程当时已用完可用文件描述符),则库将回退到「仅使用PRNG」 ,「不会发出警告」 ,这就很恐怖了,这样随机性和可能性大大提高,如果此时出现并发使用同一个时钟节点...:「谨慎建议不要依赖 PostgreSQL 生成的 UUID 的强随机性,而是在应用程序端明确使用随机源」 。...伪随机生成器」 (pseudo random number generator,「PRNG」 ),又被称为「确定性随机比特生成器」 (deterministic random bit generator...PRNG生成的序列并不是随机,因此它完全由一个初始值决定,这个初始值被称为PRNG随机种子(seed,但这个种子可能包含真随机数)。

    2.3K30

    Tomcat启动一直卡在webappsROOT的解决方案

    Tomcat使用SHA1PRNG算法是基于SHA-1算法实现且保密性较强的伪随机生成器。在SHA1PRNG中,有一个种子产生器,它根据配置执行各种操作。...他们产生随机数的原理是利用当前系统的熵池计算出固定一定数量的随机比特,然后将这些比特作为字节流返回。...如果当前环境噪音变化的不是很剧烈或者当前环境噪音很小,比如刚开机的时候,当前需要大量的随机比特,这时产生的随机数的随机效果就不是很好了。...这就是为什么会有 /dev/urandom 和 /dev/random 这两种不同的文件,后者在不能产生新的随机数时会阻塞程序,前者不会(ublock),当然产生的随机数效果就不太好了,这对加密解密这样的应用来说就不是一种很好的选择...目前tomcat7和tomcat8都是使用的这种方式实例化SecureRandom对象的。

    83110

    Tomcat启动时SecureRandom超级慢的问题

    类产生安全随机类SecureRandom的实例作为会话ID SHA1PRNG算法是基于SHA-1算法实现且保密性较强的伪随机生成器。...在SHA1PRNG中,有一个种子产生器,它根据配置执行各种操作。 Linux中的随机数可以从两个特殊的文件中产生,一个是/dev/urandom.另外一个是/dev/random。...他们产生随机数的原理是利用当前系统的熵池计算出固定一定数量的随机比特,然后将这些比特作为字节流返回。...如果当前环境噪音变化的不是很剧烈或者当前环境噪音很小,比如刚开机的时候,当前需要大量的随机比特,这时产生的随机数的随机效果就不是很好了。...这就是为什么会有/dev/urandom和/dev/random这两种不同的文件,后者在不能产生新的随机数时会阻塞程序,前者不会(ublock),当然产生的随机数效果就不太好了,这对加密解密这样的应用来说就不是一种很好的选择

    1.4K40

    Tomcat启动一直卡在webappsROOT的解决方案

    Tomcat使用SHA1PRNG算法是基于SHA-1算法实现且保密性较强的伪随机生成器。在SHA1PRNG中,有一个种子产生器,它根据配置执行各种操作。...他们产生随机数的原理是利用当前系统的熵池计算出固定一定数量的随机比特,然后将这些比特作为字节流返回。...如果当前环境噪音变化的不是很剧烈或者当前环境噪音很小,比如刚开机的时候,当前需要大量的随机比特,这时产生的随机数的随机效果就不是很好了。...这就是为什么会有 /dev/urandom 和 /dev/random 这两种不同的文件,后者在不能产生新的随机数时会阻塞程序,前者不会(ublock),当然产生的随机数效果就不太好了,这对加密解密这样的应用来说就不是一种很好的选择...目前tomcat7和tomcat8都是使用的这种方式实例化SecureRandom对象的。

    75020

    无钥匙进入曝漏洞,影响几乎所有本田系列车辆,黑客可远程开锁甚至启动

    一个漏洞,影响到无数车主,或许不止本田 之所以这个漏洞被称为Rolling-PWN不是Honda-PWN,漏洞的发现者表示,因为这种缺陷可能也存在于其他品牌的汽车中。...滚动代码通过使用随机生成器(PRNG)工作。当配对钥匙链上的锁或解锁按钮被按下时,钥匙链会通过无线方式向信息封装中的车辆发送唯一的代码。 ...然后,车辆根据PRNG生成的有效代码的内部数据库检查发送给它的代码,如果代码有效,汽车就会授予锁、解锁或启动车辆的请求。 ...该数据库包含几个允许的代码,因为当按下按钮时,钥匙可能不在车辆的范围内,可能传输的代码与车辆预期的下一个按时间顺序传输的代码不同。 ...之后,攻击者可以重放有效的代码序列并重新同步PRNG。 这允许攻击者重新使用通常无效的旧代码,甚至在代码被破解几个月之后。

    38310

    Security "Crypto" provider deprecated in Android N

    如果你是直接使用这些密钥的话是不会有任何问题的,但是有的时候我们需要通过一个字符串格式的密码来生成密钥。..., DEPREACATED_SECURE_PROVIDER_CRYPTO); //在随机生成器中将密码的字符串设为种子换算出最终的密钥key,异常就是在这里发生的 secureRandom.setSeed...SecretKey secretKey = keyGenerator.generateKey(); return secretKey.getEncoded(); } 可以看到我们将密码作为随机生成器的种子换算出密钥...当然你可以直接使用密钥绕过这个问题,或者将 targetSdkVersion 调低一些掩盖崩溃,但这个坑早晚总是要填的。所以让我们来看看该怎么解决这个问题。...你是不是想说?? ? 还不赶紧改Bug去??? 还不赶紧改Bug去??? 还不赶紧改Bug去??? ----

    55950

    openssl的部分使用例子

    ############################################################# # Diffie-Hellman应用例子 # 使用生成因子2和随机的1024-...(7) 重置伪随机生成器(Seeding the Pseudorandom Number Generator) 对于OpenSSL,正确地重置PRNG(Pseudo Random Number Generator...命令行工具会试图重置PRNG,当然这不是万无一失的。如果错误发生,命令行工具会生成一条警告,这意味着生成随机数是可预料的,这时就应该采用一种更可靠的重置机制不能是默认的。...在Windows系统,重置PRNG的来源很多,比如屏幕内容。在Unix系统,通常通过设备/dev/urandom重置PRNG。...从0.9.7开始,OpenSSL还试图通过连接EGD套接字重置PRNG。 除了基本的重置来源,命令行工具还会查找包含随机数据的文件。假如环境变量RANDFILE被设置,它的值就可以用来重置PRNG

    31510
    领券