将字节数组转换为密钥

时间:2013-01-07 21:35:27

标签: java byte secret-key

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

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

在此处找到:Converting Secret Key into a String and Vice Versa

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

尽管如此,我总是得到“方法SecretKeySpec未定义为... [类名]” - 我不知道。

我猜它只是一些小错误,但我无法弄明白。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:44)

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

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

当您尝试在没有new的情况下调用它时,编译器认为它可能是您在该类中定义的方法,因此您的错误消息。