2017-04-26 90 views
-1

我是新來加密解密。我們可以生成一個密鑰值,同時加密 我使用的密鑰爲 私人靜態最終字符串KEY =「1Hbfh667adfDEJ78」; 但該關鍵值取自網絡。 我的問題是我們如何能夠生成我們自己的128位密鑰如何在進行加密時生成密鑰?

+0

您可以通過啓動[搜索](https://www.google.com/search?q=java+generate+key),你將有[發現] (https://docs.oracle.com/javase/7/docs/api/javax/crypto/KeyGenerator.html)。這可能是一個開始 – AxelH

+0

研究密鑰推導函數(KDF)。 [Argon2](https://en.wikipedia.org/wiki/Argon2)很好,雖然是新的。 [PBKDF2](https://en.wikipedia.org/wiki/PBKDF2)更常見且更有可能出現在當前的圖書館中。 – rossum

+0

您可以使用UUID生成器,然後根據需要將其解析爲字符串。 –

回答

1

要生成安全密鑰,請使用KeyGenerator

舉例AES加密:

KeyGenerator gen = KeyGenerator.getInstance("AES"); 
gen.init(128); /* 128-bit AES */ 
SecretKey secret = gen.generateKey();