java - getinstance - convertir Byte Array a clave secreta
java api cipher (1)
Debe usar la new
palabra clave para llamar al constructor y crear el objeto.
SecretKey originalKey = new SecretKeySpec(encodedKey, 0, encodedKey.length, "AES");
Cuando intenta llamarlo sin ser new
, el compilador piensa que podría ser un método que haya definido dentro de esa clase, de ahí su mensaje de error.
He estado intentando convertir una matriz de bytes a su SecretKey original, pero no me quedan más ideas. El intento más prometedor fue este:
byte[] encodedKey = Base64.decode(stringKey);
SecretKey originalKey = SecretKeySpec(encodedKey, 0, encodedKey.length, "AES")
encontrado aquí: Convertir la clave secreta en una cadena y viceversa
Estoy usando import javax.crypto.spec.SecretKeySpec, por lo que el constructor para SecretKeySpec debería usarse correctamente, al menos en http://docs.oracle.com/javase/1.5.0/docs/api/javax/crypto/spec/SecretKeySpec.html .
No obstante, siempre obtengo "El Método SecretKeySpec no está definido para ... [Nombre de la clase]", que simplemente no entiendo.
Supongo que es solo un pequeño error, pero no puedo entenderlo. ¿Puede alguien ayudarme por favor aquí?