我一直在尝试将字节数组转换为其原始的SecretKey,但是我已经没有更多的想法了。最有希望的尝试是:

byte[] encodedKey     = Base64.decode(stringKey);
SecretKey originalKey = SecretKeySpec(encodedKey, 0, encodedKey.length, "AES")

在这里找到:Converting Secret Key into a String and Vice Versa

我正在使用导入javax.crypto.spec.SecretKeySpec,因此SecretKeySpec的构造函数应正确使用,至少应引用http://docs.oracle.com/javase/1.5.0/docs/api/javax/crypto/spec/SecretKeySpec.html

尽管如此,我总是得到“对于... [类名],该方法的SecretKeySpec是未定义的”-我只是没有得到。

我猜这只是一些小错误,但我无法弄清楚。有人可以帮我吗?

最佳答案

您需要使用new关键字来调用构造函数并创建对象。

SecretKey originalKey = new SecretKeySpec(encodedKey, 0, encodedKey.length, "AES");

当您尝试不使用new调用它时,编译器会认为它可能是您在该类中定义的方法,因此会出现错误消息。

07-24 14:40