安全随机的Android开发人员指南说
Supported Algorithms
SHA1PRNG: Based on SHA-1. **Not guaranteed to be compatible with the SHA1PRNG algorithm on the reference implementation.**
The default algorithm is defined by the first SecureRandomSpi provider<br> found in the VM's installed security providers. Use Security to install custom SecureRandomSpi providers.
对于这个,当用相同的值播种时,java和android中的序列是不同的。如何让android使用与java中使用的sha11prng
实现相同的实现?
答案 0 :(得分:1)
通常,您需要SecureRandomSpi
实施桌面Java并将其包含在Android项目中。
通过扩展标准SecureRandom实现,您可以使用允许直接指定SecureRandomSpi
的受保护构造函数。
然而,使用标准/ Oracle Java SHA1PRNG实现并不容易,因为源代码不是SDK的一部分。恕我直言,更简单的方法是从AOSP获取Android源代码,提取Android上使用的SHA1PRNG实现。这将导致与您要求相反的方式。
BTW:Android实施是来自Apache Harmony项目的实施。主要实现位于文件org.apache.harmony.security.provider.crypto.SHA1PRNG_SecureRandomImpl
。