Java - 字符串中的字符串

时间:2012-12-22 01:04:52

标签: java string chars

我制作了一个名为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给出了错误。 有什么我做错了吗?

1 个答案:

答案 0 :(得分:0)

我怀疑AESencrypt.encrypt签名是public static char[] encrypt(char[])。然后你应该做String encryptedPassword = new String(AESencrypt.encrypt(passwordInput));。 如果没有,请发布签名方法。