【发布时间】:2019-01-18 02:58:11
【问题描述】:
目前,我正在寻找一种方法来提高我的Android 应用程序(纸牌游戏)中的随机性。以前估计我的情况(52!排列)至少需要226位熵(226随机位)..
我打算用这个byte[] 作为SecureRandom 的种子:
SecureRandom random = new SecureRandom();
random.setSeed(/* insert seed here, byte[] */)
问题是——我在哪里可以可靠地在Android 上获得如此数量的随机位(至少 226 位),最好不需要任何权限且无需互联网。此外,无论设备和 API 级别如何,它都应该可以工作。
【问题讨论】:
-
请不要在title中重复android tag。
-
"...最好不需要任何权限,也不需要互联网..." 我非常怀疑你能做到。例如,您需要获得权限才能使用麦克风来拾取环境噪音,或者需要互联网才能使用
random.org或类似... -
@KlingKlang - 但我正在寻找专门针对 Android 的答案。在标题中这样表述不正确吗?
-
@KlingKlang - 好的,谢谢您的指导..
-
SecureRandom在 Linux 和很可能在 Android 上使用/dev/random。
标签: java android random random-seed secure-random