跨境购物网站建设,中职专业设计网站,四川建设人力资源网官网,WordPress套壳我已经阅读过#xff0c;一般来说#xff0c;SecureRandom的一些实现可能会产生真正的随机数。特别是#xff0c;Android文档说instances of this class will generate an initial seed using an internal entropy source, such as /dev/urandom号但这是否意味着它将产生真正…我已经阅读过一般来说SecureRandom的一些实现可能会产生真正的随机数。特别是Android文档说instances of this class will generate an initial seed using an internal entropy source, such as /dev/urandom号但这是否意味着它将产生真正的随机数(即而不是伪随机数)如果我用这种方式在Android中使用SecureRandom……当我调用sr.nextBoolean()时会得到一个真正的随机输出吗或者产出可能更多(或更少)随机如果我每次都通过这样做获得输出江户十一〔二〕号这不一定是真的因为有些Android设备没有硬件来生成真正的随机数。至于具有该硬件的设备是否会使用它我不这么认为尽管Linux内核可能会加载一个模块从该硬件获取真正的随机数。afaik所有实现都使用不同的形式或算法散列。虽然它们具有良好的数学性质但并非真正的随机性。从Android开发人员的博客中我们已经确定使用Java加密体系结构(JCA)来进行密钥生成、签名或随机数生成的应用程序可能不会因为底层PRNG初始化不当而在Android设备上获得密码强大的值……。之后我相信AOSP会切换到OpenSSL的生成器。变化发生在果冻豆上。我有代码可以使用JNI读取Android的传感器然后输入一个随机数生成器(比如OpenSSL或Crypto)。您可以使用它来做同样的事情或者使用它来生成Java HMAC/SHA-1生成器。肉和土豆源文件位于android/cryptoprng的Pastebin上由传感器自动播种(由jww提供)。我希望尽快将Eclipse项目上传到Cryptowiki(wiki目前因配置更改而出现问题)。坚持。/dev/urandom仅用于生成初始种子。在那之后一切都是算法。SecureRandom需要提供加密强随机数生成器(RNG)。真和伪随机随机数对不同的人来说意味着很多不同的事情。最好避免这些。/dev/urandom的代表性很差因为人们不理解它和/dev/random之间的区别(比你想象的要差很多少得多)。如果你问/dev/urandom的种子植入是否会损害SecureRandom用于加密目的的适合性答案是响亮的不。如果你有时间的话你可能会想读我关于整个问题的文章。你好托马斯我想你有一个打字错误-一个铀之国的。(而且不这不是为了加密目的。)根据Android开发者文档(SecureRandom) complies with the statistical random number generator tests specified in FIPS 140-2, Security Requirements for Cryptographic Modules, section 4.9.1号然而同样的警告也适用于Android就像Java一样Many SecureRandom implementations are in the form of a pseudo-random number generator (PRNG), which means they use a deterministic algorithm to produce a pseudo-random sequence from a true random seed. Other implementations may produce true random numbers, and yet others may use a combination of both techniques.号因此简短的回答是这取决于实现但是如果您对FIPS 140-2满意那么SecureRandom就足以满足您的目的了。关键的答案是由Linux内核定义的/dev/urandom保证不会阻塞。重点是在产生足够的熵的同时不拖延用户。如果Android文档说他们正在使用/dev/urandom进行初始化并且内核中没有足够的熵来提供随机数那么内核将返回到伪随机算法。根据内核文档除了长寿命[加密]密钥/dev/urandom几乎可以用于所有目的。考虑到您的预期用途我怀疑Android SecureRandom将证明足够随机用于您的目的。Android是一种独特的野兽。它有/dev/urandom但我不相信android的SecureRandom和SecureRandomSpi在使用它。相反种子确实很弱——它本质上是系统属性(比如序列号、基带版本)、时间(毫秒和纳秒)和字符串你的随机性都属于我们。查看entropyService.java。