0

文字を暗号化する AESencrypt というファイルを作成しました。passwordField の入力を取得して暗号化することで、これを機能させようとしています。これは私が試したものですが、失敗しました:

   char[]passwordInput=passwordField.getPassword();
   String encryptedPassword = AESencrypt.encrypt(passwordInput);

暗号化メソッドは次のように定義されます。

public static String encrypt(String Data) throws Exception { 
   Key key = generateKey(); 
   Cipher c = Cipher.getInstance(ALGO); 
   c.init(Cipher.ENCRYPT_MODE, key); 
   byte[] encVal = c.doFinal(Data.getBytes()); 
   String encryptedValue = new BASE64Encoder().encode(encVal); 
   return encryptedValue;
  }

これはうまくいかないものです:

private void loginButtonActionPerformed(java.awt.event.ActionEvent evt) { 
   char[] passwordInput = passwordField.getPassword(); 
   String passwordEnc = AESencrypt.encrypt(passwordInput); 
  }

何らかの理由でpasswordInput、最後の行の括弧でエラーが発生しています。私が間違っていることはありますか?

4

1 に答える 1

0

AESencrypt.encryptの署名は。だと思いますpublic static char[] encrypt(char[])。次に、代わりに行う必要がありString encryptedPassword = new String(AESencrypt.encrypt(passwordInput));ます。そうでない場合は、署名方法を投稿してください。

于 2012-12-22T01:30:45.400 に答える