2013-07-23 73 views
3

如何使用Bouncy Castle生成對稱密鑰? PrivateKeyFactoryPublicKeyFactory似乎與AsymmetricKeyParameter有關。如何用Bouncy Castle生成對稱密鑰?

我不想知道任何JCA/JCE API - 相反,我只對Bouncy Castle特定的API感興趣。

可以(應該)我只是生成一個隨機字節?

+1

你想要什麼對稱密鑰類型?注意:我編輯了您的問題以符合我認爲您所要求的內容(例如BC特定的解決方案)。如果我犯了一個錯誤,請糾正它! –

+0

@DuncanJones說,AES 128位密鑰? –

回答

7

AES沒有任何弱密鑰,所以直接的隨機生成應該沒問題。

// SecureRandom is expensive to initialize (takes several milliseconds) – 
// consider keeping the instance around if you are generating many keys. 
SecureRandom random = new SecureRandom(); 
byte[] keyBytes = new byte[16]; 
random.nextBytes(keyBytes); 
SecretKeySpec key = new SecretKeySpec(keyBytes, "AES"); 
相關問題