我正在创建能够生成安全随机256位密钥的Android应用。我还希望用户可以选择在屏幕上点击/拖动生成随机字节,这将随机数生成器播种(类似于TrueCrypt生成其键的方式)。看起来SecureRandom
是我最好的选择,但我无法理解setSeed(byte[])
方法。
以下是文档:
重新种植此随机对象。给定的种子补充而不是替代现有的种子。因此,保证重复呼叫永远不会减少随机性。
我计划获取用户触摸事件的X和Y坐标并对其进行散列,然后将哈希中的字节反复输入setSeed
。
我的问题是,随后对setSeed
的调用会加强现有的"随机性"或者它会或多或少无用?或者有没有更好的方法来实现这一点,我完全失踪了?