我正在創建安全隨機生成256位密鑰的Android應用程序。我還希望用戶可以選擇在屏幕上點擊/拖動隨機數字生成器(類似於TrueCrypt如何生成密鑰)來生成隨機字節。它看起來像SecureRandom
是我最好的選擇,但我無法理解setSeed(byte[])
方法。從Android中的用戶觸摸事件播種SecureRandom
下面是文檔:
重新提供此隨機對象。給定的種子補充而不是替代現有的種子。因此,保證重複呼叫絕不會降低隨機性。
我打算對用戶的觸摸事件的X和Y座標進行散列,然後將散列中的字節反覆送入setSeed
。
我的問題是,隨後對setSeed
的調用是否會加強現有的「隨機性」,還是會或多或少無用?還是有更好的方法來實現這一點,我完全失蹤了?
安全漏洞涉及SecureRandom(4.2之前)。在這樣的設備上添加額外的種子可能會有幫助,但通常使用'PRNGFixes'就足夠了。 – Robert
@Robert請提供漏洞信息的鏈接。 – zaph
我明白了,非常感謝 –