Как я могу создать свои собственные ключи для алгоритма AES в Java? - PullRequest
1 голос
/ 18 февраля 2012

Как я могу создать свои собственные ключи для шифрования строки, используя алгоритм AES в Java вместо использования

KeyGenerator kgen = KeyGenerator.getInstance("AES");

, который создает случайный ключ?

Ответы [ 2 ]

4 голосов
/ 18 февраля 2012

Используя SecretKeySpec :

SecretKey key = new SecretKeySpec(bytes, "AES");
2 голосов
/ 18 февраля 2012

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");
...