android的安全随机算法

时间:2012-03-11 02:02:01

标签: java android

安全随机的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实现相同的实现?

1 个答案:

答案 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