![](/img/trans.png)
[英]How does java get to know which implementation object of interface to return?
[英]How does Java's SecureRandom know which implementation of NativePRNG is available on the system?
使用java.security.SecureRandom
SecureRandom random = new SecureRandom();
byte bytes[] = new byte[20];
random.nextBytes(bytes);
将,根据
http://docs.oracle.com/javase/7/docs/api/java/security/SecureRandom.html
通过使用NativePRNG的系统实现产生随机字节。
Java运行时如何知道此实现在系统上的位置? 在GNU / Linux上,通常是/ dev / random,但在Windows上则不是这种情况。 某处有配置文件吗?
谢谢
下面的信息能够从检查SecureRandom.java的源代码,其一般与JDK的src.zip中收集。
使用消息来源,卢克!
Java运行时如何知道此实现在系统上的位置?
这是JDK特定于平台的部分。
SecureRandom
枚举注册java.security.Provider
情况下,寻找一个提供java.security.Provider.Service
类型"SecureRandom"
。 JDK通常附带一个内部默认安全提供程序,该提供程序以特定于平台的方式来实现。
如果找不到任何内容,则返回纯Java SHA1PRNG。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.