我制作了一个名为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
给出了错误。
有什么我做错了吗?
答案 0 :(得分:0)
我怀疑AESencrypt.encrypt签名是public static char[] encrypt(char[])
。然后你应该做String encryptedPassword = new String(AESencrypt.encrypt(passwordInput));
。
如果没有,请发布签名方法。