- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 PHP.net 中 mt_rand()
和 uniqid()
被解释为“不生成加密安全值”,并鼓励使用 random_int()
、random_bytes()
或 openssl_random_pseudo_bytes()
代替。
什么是“加密安全”?
最佳答案
计算机通常不能很好地计算真正的随机数。这意味着计算机计算的伪随机数可能是可预测的。
如果这个随机数被用作加密 key 的基础,那么 key 和 protected 消息可能会受到损害。
加密安全的伪随机数生成器 (CSPRNG) 是一种任何第三方都极难预测生成的数字可能是什么的数字生成器。这意味着从这些随机数派生的加密 key 极难确定,从而使使用这些 key 保护的消息安全。
来自
https://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator
理想情况下,CSPRNG 中随机数的生成使用从高质量来源(通常是操作系统的随机 API)获得的熵。然而,在几个这样的表面上独立的过程中发现了意想不到的相关性。从信息论的角度来看,随机性的数量,即可以产生的熵,等于系统提供的熵。但有时,在实际情况下,需要的随机数比可用的熵要多。此外,从正在运行的系统中提取随机性的过程在实际实践中也很慢。在这种情况下,有时可以使用 CSPRNG。 CSPRNG 可以将可用熵“拉伸(stretch)”到更多位。
关于php - "cryptographically secure"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47882737/
关闭。这个问题需要更多 focused .它目前不接受答案。 想要改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 4 年前。 Improve this q
我一直被告知在给密码加盐时应该使用 openssl_random_pseudo_bytes。 但我真正想知道的是,是什么让它在密码学上是安全的。 rand 之间的内部区别是什么? , mt_rand和
这是一个场景:。服务器键(通常为40个字符)Player1键(通常为20个字符)(选择为当前游戏的第一个玩家)Player2键(通常为20个字符)(选择为当前游戏的第二个玩家)Player3键(通常为
当我尝试在 ASP.NET MVC 应用程序上获取我的主页时出现此异常。 [CryptographicException: Error occurred during a cryptographic
因此,我正在考虑使用哪个加密 C++ 库(我已经弄清楚如何在 C# 中执行等效操作)来验证许可文件签名哈希。 阅读 Microsoft 的 CNG 文档似乎无法从字节流生成代码中的 ECDSA key
我的计算机上安装了 OpenJDK 9,我正在尝试安装 Eclipse。但是,每次启动安装程序时都会出现错误: Internal Error: Cannot initialize cryptograp
几天前,在 Google Play 管理中心的“APK 预发布报告”中,它开始标记我 Unsafe encryption Detected in APK ??? Your app contains u
我尝试启动 Weblogic,但出现以下异常: There are 1 nested errors: oracle.security.jps.JpsException: oracle.security
我有一个用 openJDK (Amazon Correto 11) 和 openJFX 编写的应用程序。 当我在本地运行应用程序时 - 一切正常。但是当我从网络共享执行应用程序时出现异常: java.
我需要获得少量“加密良好”的随机字节。 (在我的例子中是 8 个字节。)是否有任何 Windows API? 附言。如果这些 API 向后兼容 Windows XP 就好了。但如果没有,它仍然可以工作
我不需要它太安全。连md5这种一般坏掉的也比我需要的安全(只要2分钟内不能发现碰撞,应该100%没问题)。 我需要它来制作我们本周末将在黑客马拉松中制作的视频游戏。我们有一个模拟游戏核心部分的服务器,
通过论坛阅读似乎 SecureRandom 是线程安全的,但由于争用它在多线程系统中挣扎,请参阅 Is SecureRandom thread safe? .初始化一个新的 SecureRandom
我已经将我的网站上传到虚拟主机,但出现了这个错误; '加密操作期间发生错误。'。 我做了一些研究,似乎经过验证的 cookie 绑定(bind)到 MachineKey(使用 webhost 时有所不
所以我启用了这个组策略,当我第一次尝试编译我的解决方案时,我收到了这个错误。有趣的是,我只在一个地方使用加密函数,但我看到的是我所有的 Silverlight ResourceDictionary 文
我已将我的项目从 v2.1 升级到 asp.net core v2.2,一切都用于正常工作。在下面显示的代码中,我正在尝试使用 IdentityServer4(v2.3.2) 初始化 RSA key
我刚刚更新并立即收到此错误: "error: A cryptographic verification failure has occurred." 有什么想法吗? 编辑:我有 iOS 10 最佳答案
Google 正试图逐步停止使用使用 SHA1 散列算法的 SSL 证书。因此,我想创建一个符合 SHA2 的自签名证书。我知道 SHA 是一种哈希算法,而 RSA 是一种加密算法。我找到了以下用于生
我是一名优秀的程序员,十分优秀!