0

我制作了一个名为 AESencrypt 的文件,用于加密字符。我试图通过获取密码字段的输入并对其进行加密来完成这项工作。这是我尝试过的,虽然失败了:

   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 回答