Java-char';串串

Java-char';串串,java,string,chars,Java,String,Chars,我制作了一个名为AESencrypt的文件,它对字符进行加密。我试图通过获取passwordField的输入并对其进行加密来实现这一点。 这就是我尝试过的,尽管失败了: char[]passwordInput=passwordField.getPassword(); String encryptedPassword = AESencrypt.encrypt(passwordInput); 加密方法定义如下: public static String encrypt(String D

我制作了一个名为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); 
  }
出于某种原因,最后一行括号中的
密码输入
给出了一个错误。
有什么我做错了吗?

我怀疑AESencrypt.encrypt签名是
公共静态字符[]加密(字符[])
。然后您应该执行
stringencryptedpassword=newstring(AESencrypt.encrypt(passwordInput))取而代之。

如果没有,请发布签名方法。

这个问题缺少一些信息:1)什么错误2)AESencrypt.encrypt()是如何定义的?它是带有参数char[]和返回类型String的静态方法吗?它是通过导入导入的,它在类路径中吗?我不认为它是一个静态方法。是的,它是进口的。我不确定其他问题。什么是
passwordField.getPassword()
?这里有很多问题。回答这些问题最清晰的方法可能是将代码扩展为一个完整的程序,包括导入,并在其主方法中包含失败的代码。AESencrypt加密方法是:AESencrypt加密方法是:public static String encrypt(String Data)抛出异常{Key Key=generateKey();Cipher c=Cipher.getInstance(ALGO);c.init(Cipher.ENCRYPT_模式,密钥);byte[]encVal=c.doFinal(Data.getBytes());String encryptedValue=new BASE64Encoder().encode(encVal);返回encryptedValue;}这是加密它的方法。这是不起作用的方法:
code
private void loginButtoActionPerformed(java.awt.event.ActionEvent evt){char[]passwordInput=passwordField.getPassword();String passwordEnc=AESencrypt.encrypt(passwordInput);}
code
它只是不能识别密码输入作为编码输入。关于如何实现代码的任何建议,以便它从passwordField获取密码,并使用AESencrypt.encrypt对其进行加密。但是加密方法的第一个参数是
String
,您可以使用
char[]
调用。您可以执行
stringpasswordenc=AESencrypt.encrypt(新字符串(passwordInput))