Java Criptografia baseada em senha AES de 256 bits

Preciso implementar a criptografia AES de 256 bits, mas todos os exemplos que encontrei online usam um "KeyGenerator" para gerar uma chave de 256 bits, mas gostaria de usar minha própria senha. Como posso criar minha própria chave? Tentei estender para 256 bits, mas recebo um erro dizendo que a chave é muito longa. Eu tenho o patch de jurisdição ilimitado instalado, então esse não é o problema:)

Ie. O KeyGenerator fica assim ...

// 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();

Código retirado daqui

EDITA

Na verdade, estava preenchendo a senha com 256 bytes, não com bits, o que é muito longo. A seguir, estão alguns códigos que estou usando agora que tenho mais experiência com iss

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)

Os bits "TODO" que você precisa fazer: -)

questionAnswers(18)

yourAnswerToTheQuestion