2012-03-10 52 views
3

我已經在我的android程序和java程序中使用sha1prng作爲僞拉姆蒙編號生成器算法。我用相同的價值爲他們兩個種植了種子。

但在android中生成的sequesnce與java中生成的不一樣。爲什麼會發生這種情況,這個問題的解決方案是什麼?在Android和Windows中使用sha1prng給出不同的序列

回答

4

我認爲這是因爲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/

相關問題