Java-char';串串
我制作了一个名为AESencrypt的文件,它对字符进行加密。我试图通过获取passwordField的输入并对其进行加密来实现这一点。 这就是我尝试过的,尽管失败了: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
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))
。