我正在尝试使用Java生成加密安全随机数,并使用以下代码部分创建SecureRandom对象以查看其提供者和算法:
Provider prov=new org.spongycastle.jce.provider.BouncyCastleProvider();
Security.insertProviderAt(prov, 1);
SecureRandom sr=new SecureRandom();
srProvider=sr.getProvider().toString();
srAlgorithm=sr.getAlgorithm();
Run Code Online (Sandbox Code Playgroud)
(海绵城堡是由罗伯托·泰莱制作的机器人的弹性城堡 - https://github.com/rtyley)
当我显示提供程序和算法时,它显示:加密版本1.0 SHA1PRNG
令我惊讶的是,即使将提供程序安装为代码中的第一个提供程序,提供程序也不是Spongycastle.我想问你a)在Spongy Castle(或Bouncy Castle)中没有实施SecureRandom.b)究竟什么是"加密版本1.0"(我的意思是它是Sun JCE提供商还是什么?)
谢谢...
鲁维
如何选择 random 或 urandom 作为 Android 中 SecureRandom 类的随机源?