我在我的 android 程序和 java 程序中都使用了 sha1prng 作为伪随机数生成器算法。我用相同的值播种了它们。
但是android生成的sequesnce和java生成的不一样。为什么会发生这种情况以及解决此问题的方法是什么?
我认为这是因为 Windows 和 Android 上的 SHA1PRNG 实现不同。Android 使用 Crypto 作为提供程序,而 Windows SDK 使用 Sun JCE 提供程序作为 SHA1PRNG 实现。即使在不同版本的 JDK 中,具有相同种子的输出序列也有所不同,正如此处所讨论的:http : //www.derkeiler.com/Newsgroups/sci.crypt/2006-04/msg00765.html。对于 SHA1PRNG 的不同实现,您可能需要查看此链接:http : //www.cigital.com/justice-league-blog/2009/08/14/proper-use-of-javas-securerandom/。
| 归档时间: |
|
| 查看次数: |
655 次 |
| 最近记录: |