web-dev-qa-db-ja.com

バイト配列を秘密鍵に変換する

私はバイト配列を元のSecretKeyに変換しようとしましたが、これ以上のアイデアは残っていません。最も有望な試みはこれでした:

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

ここにあります: 秘密鍵の文字列への変換とその逆

私はインポートjavax.crypto.spec.SecretKeySpecを使用しているので、SecretKeySpecのコンストラクタを少なくとも http://docs.Oracle.com/javase/1.5.0/docs/を参照して)正しく使用する必要がありますapi/javax/crypto/spec/SecretKeySpec.html

それにもかかわらず、私は常に「メソッドSecretKeySpecは... [クラス名]に対して未定義」を取得します-これは取得しません。

ちょっとした間違いだと思いますが、わかりません。誰かがここで私を助けてくれますか?

27
Horstus Horax

コンストラクターを呼び出してオブジェクトを作成するには、newキーワードを使用する必要があります。

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

newなしでそれを呼び出そうとすると、コンパイラーはそれがそのクラス内で定義したメソッドである可能性があると見なし、エラーメッセージが表示されます。

45
asteri