1
如何創建自己的加密在Java中使用AES算法的字符串,而不是使用如何在Java中爲AES算法創建自己的密鑰?
KeyGenerator kgen = KeyGenerator.getInstance("AES");
這將創建一個隨機密鑰的密鑰?
如何創建自己的加密在Java中使用AES算法的字符串,而不是使用如何在Java中爲AES算法創建自己的密鑰?
KeyGenerator kgen = KeyGenerator.getInstance("AES");
這將創建一個隨機密鑰的密鑰?
kgen
不是關鍵,實際關鍵是你的SecretKeySpec
對象。您可以使用原始字節創建鍵......看到下面的例子...
KeyGenerator kgen = KeyGenerator.getInstance("AES");
kgen.init(128);
byte raw[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
SecretKeySpec spec = new SecretKeySpec(raw, "AES");
//SecretKey key = kgen.generateKey();
//byte keybytes[] = key.getEncoded();
//SecretKeySpec spec = new SecretKeySpec(keybytes, "AES");
通過使用SecretKeySpec:
SecretKey key = new SecretKeySpec(bytes, "AES");
注意,您可以直接使用'SecretKeySpec'作爲重點(它如果你有一個以隨機字節爲關鍵字的算法,則實現'SecretKey'接口。這對於AES和DES ABC密鑰(用於DESede)至少是正確的,在後者中奇偶校驗位被忽略。如果將密鑰存儲爲字段,我仍然會使用[SecretKeyFactory](http://docs.oracle.com/javase/6/docs/api/javax/crypto/SecretKeyFactory.html)創建一個「fail fast 「場景。 – 2012-02-18 14:19:26
Ohk ...重要信息thnks .. :) – 2012-02-18 14:32:27