Java 256-битное шифрование на основе пароля AES



мне нужно реализовать 256-битное шифрование AES, но все примеры, которые я нашел в интернете, используют "KeyGenerator" для создания 256-битного ключа, но я хотел бы использовать свой собственный ключ доступа. Как я могу создать свой собственный ключ? Я попытался заполнить его до 256 бит, но затем я получаю сообщение об ошибке, говоря, что ключ слишком длинный. У меня есть патч неограниченной юрисдикции установлен, так что это не проблема:)



Ie. Кейгенератор выглядит так ...



// Get the KeyGenerator
KeyGenerator kgen = KeyGenerator.getInstance("AES");
kgen.init(128); // 192 and 256 bits may not be available

// Generate the secret key specs.
SecretKey skey = kgen.generateKey();
byte[] raw = skey.getEncoded();


код взят отсюда



EDIT



Я на самом деле заполнял ПАРОЛЬ до 256 байт, а не бит, что слишком долго. Ниже приведен некоторый код, который я использую сейчас, когда у меня есть еще немного опыта с этим.



byte[] key = null; // TODO
byte[] input = null; // TODO
byte[] output = null;
SecretKeySpec keySpec = null;
keySpec = new SecretKeySpec(key, "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding");
cipher.init(Cipher.ENCRYPT_MODE, keySpec);
output = cipher.doFinal(input)


биты" TODO " вам нужно сделать самостоятельно : -)

807   0  

Comments

    Ничего не найдено.